From 8cd98a037cceb83ff85ef57d11d2dc7ac14f496e Mon Sep 17 00:00:00 2001 From: Glyn Jackson Date: Thu, 23 Jul 2020 18:06:52 +0100 Subject: [PATCH] Feature/convert yaml to json (#30) * converted yaml to json swagger 2.0 * converted swagger 2.0 to 3.1 for PIS,CBPII,AIS,Event and polling * convert swagger 3.0 to json * flattened specs --- .../account-info-openapi-flattened.json | 107445 +++++++++++---- .../aggregated-polling-openapi-flattened.json | 765 +- .../callback-urls-openapi-flattened.json | 1878 +- .../confirmation-funds-openapi-flattened.json | 1493 +- ...event-notifications-openapi-flattened.json | 36 +- ...event-subscriptions-openapi-flattened.json | 3420 +- .../events-openapi-flattened.json | 2 +- .../payment-initiation-openapi-flattened.json | 95176 +++++++++---- dist/openapi/account-info-openapi.json | 14996 +- dist/openapi/account-info-openapi.yaml | 17567 ++- dist/openapi/aggregated-polling-openapi.json | 785 +- dist/openapi/aggregated-polling-openapi.yaml | 716 +- dist/openapi/callback-urls-openapi.json | 1077 +- dist/openapi/callback-urls-openapi.yaml | 885 +- dist/openapi/confirmation-funds-openapi.json | 1825 +- dist/openapi/confirmation-funds-openapi.yaml | 1573 +- dist/openapi/event-notifications-openapi.json | 257 +- dist/openapi/event-notifications-openapi.yaml | 219 +- dist/openapi/event-subscriptions-openapi.json | 1753 +- dist/openapi/event-subscriptions-openapi.yaml | 1513 +- dist/openapi/events-openapi.json | 2 +- dist/openapi/events-openapi.yaml | 2 +- dist/openapi/payment-initiation-openapi.json | 24291 ++-- dist/openapi/payment-initiation-openapi.yaml | 22391 +-- .../account-info-swagger-flattened.json | 48 +- .../aggregated-polling-swagger-flattened.json | 2 +- .../callback-urls-swagger-flattened.json | 2 +- .../confirmation-funds-swagger-flattened.json | 8 +- ...event-notifications-swagger-flattened.json | 2 +- ...event-subscriptions-swagger-flattened.json | 2 +- .../events-swagger-flattened.json | 2 +- .../payment-initiation-swagger-flattened.json | 348 +- dist/swagger/account-info-swagger.json | 160 +- dist/swagger/aggregated-polling-swagger.json | 15 +- dist/swagger/callback-urls-swagger.json | 2 +- dist/swagger/confirmation-funds-swagger.json | 14 +- dist/swagger/event-notifications-swagger.json | 2 +- dist/swagger/event-subscriptions-swagger.json | 8 +- dist/swagger/events-swagger.json | 26 +- dist/swagger/payment-initiation-swagger.json | 134 +- 40 files changed, 211218 insertions(+), 89624 deletions(-) diff --git a/dist/openapi-flattened/account-info-openapi-flattened.json b/dist/openapi-flattened/account-info-openapi-flattened.json index 163c296a..951ed491 100644 --- a/dist/openapi-flattened/account-info-openapi-flattened.json +++ b/dist/openapi-flattened/account-info-openapi-flattened.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Account and Transaction API Specification", - "description": "OpenAPI for Account and Transaction API Specification", + "description": "Swagger for Account and Transaction API Specification", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,8 +12,13 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1/aisp" + } + ], "paths": { "/account-access-consents": { "post": { @@ -24,52 +29,261 @@ "operationId": "CreateAccountAccessConsents", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Permissions" + ], + "type": "object", + "properties": { + "Permissions": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", + "enum": [ + "ReadAccountsBasic", + "ReadAccountsDetail", + "ReadBalances", + "ReadBeneficiariesBasic", + "ReadBeneficiariesDetail", + "ReadDirectDebits", + "ReadOffers", + "ReadPAN", + "ReadParty", + "ReadPartyPSU", + "ReadProducts", + "ReadScheduledPaymentsBasic", + "ReadScheduledPaymentsDetail", + "ReadStandingOrdersBasic", + "ReadStandingOrdersDetail", + "ReadStatementsBasic", + "ReadStatementsDetail", + "ReadTransactionsBasic", + "ReadTransactionsCredits", + "ReadTransactionsDebits", + "ReadTransactionsDetail" + ] + } + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionFromDateTime": { + "type": "string", + "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionToDateTime": { + "type": "string", + "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + } + }, + "Risk": { + "type": "object", + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info." + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Permissions" + ], + "type": "object", + "properties": { + "Permissions": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", + "enum": [ + "ReadAccountsBasic", + "ReadAccountsDetail", + "ReadBalances", + "ReadBeneficiariesBasic", + "ReadBeneficiariesDetail", + "ReadDirectDebits", + "ReadOffers", + "ReadPAN", + "ReadParty", + "ReadPartyPSU", + "ReadProducts", + "ReadScheduledPaymentsBasic", + "ReadScheduledPaymentsDetail", + "ReadStandingOrdersBasic", + "ReadStandingOrdersDetail", + "ReadStatementsBasic", + "ReadStatementsDetail", + "ReadTransactionsBasic", + "ReadTransactionsCredits", + "ReadTransactionsDebits", + "ReadTransactionsDetail" + ] + } + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionFromDateTime": { + "type": "string", + "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionToDateTime": { + "type": "string", + "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + } + }, + "Risk": { + "type": "object", + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info." + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Permissions" + ], + "type": "object", + "properties": { + "Permissions": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", + "enum": [ + "ReadAccountsBasic", + "ReadAccountsDetail", + "ReadBalances", + "ReadBeneficiariesBasic", + "ReadBeneficiariesDetail", + "ReadDirectDebits", + "ReadOffers", + "ReadPAN", + "ReadParty", + "ReadPartyPSU", + "ReadProducts", + "ReadScheduledPaymentsBasic", + "ReadScheduledPaymentsDetail", + "ReadStandingOrdersBasic", + "ReadStandingOrdersDetail", + "ReadStatementsBasic", + "ReadStatementsDetail", + "ReadTransactionsBasic", + "ReadTransactionsCredits", + "ReadTransactionsDebits", + "ReadTransactionsDetail" + ] + } + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionFromDateTime": { + "type": "string", + "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionToDateTime": { + "type": "string", + "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + } + }, + "Risk": { + "type": "object", + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info." + } + } + } + } + }, + "required": true + }, "responses": { "201": { "description": "Account Access Consents Created", @@ -82,38 +296,38 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", "required": [ "ConsentId", "CreationDateTime", + "Permissions", "Status", - "StatusUpdateDateTime", - "Permissions" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "Unique identification as assigned to identify the account access consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Unique identification as assigned to identify the account access consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", @@ -122,15 +336,16 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Permissions": { + "minItems": 1, "type": "array", "items": { - "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", "type": "string", + "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", "enum": [ "ReadAccountsBasic", "ReadAccountsDetail", @@ -154,35 +369,34 @@ "ReadTransactionsDebits", "ReadTransactionsDetail" ] - }, - "minItems": 1 + } }, "ExpirationDateTime": { - "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "TransactionFromDateTime": { - "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "TransactionToDateTime": { - "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } } }, "Risk": { - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info.", "type": "object", - "properties": {}, - "additionalProperties": false + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info." }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -205,623 +419,213 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Data", + "Risk" + ], "type": "object", "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Permissions", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned to identify the account access consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Rejected", + "Revoked" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permissions": { + "minItems": 1, + "type": "array", + "items": { "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" + "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", + "enum": [ + "ReadAccountsBasic", + "ReadAccountsDetail", + "ReadBalances", + "ReadBeneficiariesBasic", + "ReadBeneficiariesDetail", + "ReadDirectDebits", + "ReadOffers", + "ReadPAN", + "ReadParty", + "ReadPartyPSU", + "ReadProducts", + "ReadScheduledPaymentsBasic", + "ReadScheduledPaymentsDetail", + "ReadStandingOrdersBasic", + "ReadStandingOrdersDetail", + "ReadStatementsBasic", + "ReadStatementsDetail", + "ReadTransactionsBasic", + "ReadTransactionsCredits", + "ReadTransactionsDebits", + "ReadTransactionsDetail" ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" } }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionFromDateTime": { + "type": "string", + "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionToDateTime": { + "type": "string", + "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + } + }, + "Risk": { + "type": "object", + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } }, - "type": "array", - "minItems": 1 + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } - } - }, - "content": { - "application/json": { + }, + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Data", + "Risk" + ], "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "accounts" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "required": [ - "Permissions" - ], - "properties": { - "Permissions": { - "type": "array", - "items": { - "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", - "type": "string", - "enum": [ - "ReadAccountsBasic", - "ReadAccountsDetail", - "ReadBalances", - "ReadBeneficiariesBasic", - "ReadBeneficiariesDetail", - "ReadDirectDebits", - "ReadOffers", - "ReadPAN", - "ReadParty", - "ReadPartyPSU", - "ReadProducts", - "ReadScheduledPaymentsBasic", - "ReadScheduledPaymentsDetail", - "ReadStandingOrdersBasic", - "ReadStandingOrdersDetail", - "ReadStatementsBasic", - "ReadStatementsDetail", - "ReadTransactionsBasic", - "ReadTransactionsCredits", - "ReadTransactionsDebits", - "ReadTransactionsDetail" - ] - }, - "minItems": 1 - }, - "ExpirationDateTime": { - "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "TransactionFromDateTime": { - "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "TransactionToDateTime": { - "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "Risk": { - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info.", - "type": "object", - "properties": {}, - "additionalProperties": false - } - }, - "additionalProperties": false - } - } - }, - "required": true - } - } - }, - "/account-access-consents/{ConsentId}": { - "get": { - "tags": [ - "Account Access" - ], - "summary": "Get Account Access Consents", - "operationId": "GetAccountAccessConsentsConsentId", - "parameters": [ - { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Account Access Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "Data", - "Risk" - ], "properties": { "Data": { - "type": "object", "required": [ "ConsentId", "CreationDateTime", + "Permissions", "Status", - "StatusUpdateDateTime", - "Permissions" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "Unique identification as assigned to identify the account access consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Unique identification as assigned to identify the account access consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", @@ -830,15 +634,16 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Permissions": { + "minItems": 1, "type": "array", "items": { - "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", "type": "string", + "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", "enum": [ "ReadAccountsBasic", "ReadAccountsDetail", @@ -862,35 +667,34 @@ "ReadTransactionsDebits", "ReadTransactionsDetail" ] - }, - "minItems": 1 + } }, "ExpirationDateTime": { - "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "TransactionFromDateTime": { - "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "TransactionToDateTime": { - "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } } }, "Risk": { - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info.", "type": "object", - "properties": {}, - "additionalProperties": false + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info." }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -913,35 +717,30 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false + } } } } @@ -957,36 +756,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1018,95 +827,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1138,123 +920,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1286,118 +1013,32 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "accounts" - ] - } - ] - }, - "delete": { - "tags": [ - "Account Access" - ], - "summary": "Delete Account Access Consents", - "operationId": "DeleteAccountAccessConsentsConsentId", - "parameters": [ - { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "204": { - "description": "Account Access Consents Deleted", + "401": { + "description": "Unauthorized", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -1405,10 +1046,11 @@ "type": "string" } } - } + }, + "content": {} }, - "400": { - "description": "Bad request", + "403": { + "description": "Forbidden", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -1418,36 +1060,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1479,95 +1131,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1599,39 +1224,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1645,7 +1350,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -1656,24 +1362,38 @@ "type": "string" } } - } + }, + "content": {} }, - "429": { - "description": "Too Many Requests", + "415": { + "description": "Unsupported Media Type", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { - "type": "integer" + "type": "string" } - }, + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -1686,36 +1406,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1747,39 +1477,212 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1791,59 +1694,65 @@ "accounts" ] } - ] + ], + "x-codegen-request-body-name": "OBReadConsent1Param" } }, - "/accounts": { + "/account-access-consents/{ConsentId}": { "get": { "tags": [ - "Accounts" + "Account Access" ], - "summary": "Get Accounts", - "operationId": "GetAccounts", + "summary": "Get Account Access Consents", + "operationId": "GetAccountAccessConsentsConsentId", "parameters": [ { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "type": "string" } }, { + "name": "x-fapi-auth-date", "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -1851,7 +1760,7 @@ ], "responses": { "200": { - "description": "Accounts Read", + "description": "Account Access Consents Read", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -1861,262 +1770,107 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ - "Data" + "Data", + "Risk" ], + "type": "object", "properties": { "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Permissions", + "Status", + "StatusUpdateDateTime" + ], "type": "object", "properties": { - "Account": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned to identify the account access consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Rejected", + "Revoked" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permissions": { + "minItems": 1, "type": "array", "items": { - "oneOf": [ - { - "type": "object", - "description": "Unambiguous identification of the account to which credit and debit entries are made.", - "required": [ - "AccountId", - "Currency", - "AccountType", - "AccountSubType" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Status": { - "description": "Specifies the status of account resource in code form.", - "type": "string", - "enum": [ - "Deleted", - "Disabled", - "Enabled", - "Pending", - "ProForma" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Currency": { - "description": "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "AccountType": { - "description": "Specifies the type of account (personal or business).", - "type": "string", - "enum": [ - "Business", - "Personal" - ] - }, - "AccountSubType": { - "description": "Specifies the sub type of account (product family group).", - "type": "string", - "enum": [ - "ChargeCard", - "CreditCard", - "CurrentAccount", - "EMoney", - "Loan", - "Mortgage", - "PrePaidCard", - "Savings" - ] - }, - "Description": { - "description": "Specifies the description of the account type.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Nickname": { - "description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "OpeningDate": { - "description": "Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "MaturityDate": { - "description": "Maturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false - }, - { - "type": "object", - "description": "Unambiguous identification of the account to which credit and debit entries are made.", - "required": [ - "AccountId", - "Currency", - "AccountType", - "AccountSubType", - "Account" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Status": { - "description": "Specifies the status of account resource in code form.", - "type": "string", - "enum": [ - "Deleted", - "Disabled", - "Enabled", - "Pending", - "ProForma" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Currency": { - "description": "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "AccountType": { - "description": "Specifies the type of account (personal or business).", - "type": "string", - "enum": [ - "Business", - "Personal" - ] - }, - "AccountSubType": { - "description": "Specifies the sub type of account (product family group).", - "type": "string", - "enum": [ - "ChargeCard", - "CreditCard", - "CurrentAccount", - "EMoney", - "Loan", - "Mortgage", - "PrePaidCard", - "Savings" - ] - }, - "Description": { - "description": "Specifies the description of the account type.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Nickname": { - "description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "OpeningDate": { - "description": "Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "MaturityDate": { - "description": "Maturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Account": { - "type": "array", - "items": { - "type": "object", - "description": "Provides the details to identify an account.", - "required": [ - "SchemeName", - "Identification" - ], - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - }, - "Servicer": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - } - }, - "additionalProperties": false - } + "type": "string", + "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", + "enum": [ + "ReadAccountsBasic", + "ReadAccountsDetail", + "ReadBalances", + "ReadBeneficiariesBasic", + "ReadBeneficiariesDetail", + "ReadDirectDebits", + "ReadOffers", + "ReadPAN", + "ReadParty", + "ReadPartyPSU", + "ReadProducts", + "ReadScheduledPaymentsBasic", + "ReadScheduledPaymentsDetail", + "ReadStandingOrdersBasic", + "ReadStandingOrdersDetail", + "ReadStatementsBasic", + "ReadStatementsDetail", + "ReadTransactionsBasic", + "ReadTransactionsCredits", + "ReadTransactionsDebits", + "ReadTransactionsDetail" ] } + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionFromDateTime": { + "type": "string", + "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionToDateTime": { + "type": "string", + "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" } } }, + "Risk": { + "type": "object", + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info." + }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -2139,35 +1893,328 @@ "format": "uri" } }, - "additionalProperties": false, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Permissions", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned to identify the account access consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Rejected", + "Revoked" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permissions": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", + "enum": [ + "ReadAccountsBasic", + "ReadAccountsDetail", + "ReadBalances", + "ReadBeneficiariesBasic", + "ReadBeneficiariesDetail", + "ReadDirectDebits", + "ReadOffers", + "ReadPAN", + "ReadParty", + "ReadPartyPSU", + "ReadProducts", + "ReadScheduledPaymentsBasic", + "ReadScheduledPaymentsDetail", + "ReadStandingOrdersBasic", + "ReadStandingOrdersDetail", + "ReadStatementsBasic", + "ReadStatementsDetail", + "ReadTransactionsBasic", + "ReadTransactionsCredits", + "ReadTransactionsDebits", + "ReadTransactionsDetail" + ] + } + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionFromDateTime": { + "type": "string", + "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionToDateTime": { + "type": "string", + "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + } + }, + "Risk": { + "type": "object", + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info." + }, + "Links": { "required": [ "Self" - ] + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Permissions", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned to identify the account access consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Rejected", + "Revoked" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permissions": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", + "enum": [ + "ReadAccountsBasic", + "ReadAccountsDetail", + "ReadBalances", + "ReadBeneficiariesBasic", + "ReadBeneficiariesDetail", + "ReadDirectDebits", + "ReadOffers", + "ReadPAN", + "ReadParty", + "ReadPartyPSU", + "ReadProducts", + "ReadScheduledPaymentsBasic", + "ReadScheduledPaymentsDetail", + "ReadStandingOrdersBasic", + "ReadStandingOrdersDetail", + "ReadStatementsBasic", + "ReadStatementsDetail", + "ReadTransactionsBasic", + "ReadTransactionsCredits", + "ReadTransactionsDebits", + "ReadTransactionsDetail" + ] + } + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionFromDateTime": { + "type": "string", + "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionToDateTime": { + "type": "string", + "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + } + }, + "Risk": { + "type": "object", + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false + } } } } @@ -2183,36 +2230,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2244,95 +2301,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2364,123 +2394,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2512,120 +2487,32 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/accounts/{AccountId}": { - "get": { - "tags": [ - "Accounts" - ], - "summary": "Get Accounts", - "operationId": "GetAccountsAccountId", - "parameters": [ - { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Accounts Read", + "401": { + "description": "Unauthorized", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -2634,320 +2521,10 @@ } } }, - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "properties": { - "Account": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "object", - "description": "Unambiguous identification of the account to which credit and debit entries are made.", - "required": [ - "AccountId", - "Currency", - "AccountType", - "AccountSubType" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Status": { - "description": "Specifies the status of account resource in code form.", - "type": "string", - "enum": [ - "Deleted", - "Disabled", - "Enabled", - "Pending", - "ProForma" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Currency": { - "description": "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "AccountType": { - "description": "Specifies the type of account (personal or business).", - "type": "string", - "enum": [ - "Business", - "Personal" - ] - }, - "AccountSubType": { - "description": "Specifies the sub type of account (product family group).", - "type": "string", - "enum": [ - "ChargeCard", - "CreditCard", - "CurrentAccount", - "EMoney", - "Loan", - "Mortgage", - "PrePaidCard", - "Savings" - ] - }, - "Description": { - "description": "Specifies the description of the account type.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Nickname": { - "description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "OpeningDate": { - "description": "Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "MaturityDate": { - "description": "Maturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false - }, - { - "type": "object", - "description": "Unambiguous identification of the account to which credit and debit entries are made.", - "required": [ - "AccountId", - "Currency", - "AccountType", - "AccountSubType", - "Account" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Status": { - "description": "Specifies the status of account resource in code form.", - "type": "string", - "enum": [ - "Deleted", - "Disabled", - "Enabled", - "Pending", - "ProForma" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Currency": { - "description": "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "AccountType": { - "description": "Specifies the type of account (personal or business).", - "type": "string", - "enum": [ - "Business", - "Personal" - ] - }, - "AccountSubType": { - "description": "Specifies the sub type of account (product family group).", - "type": "string", - "enum": [ - "ChargeCard", - "CreditCard", - "CurrentAccount", - "EMoney", - "Loan", - "Mortgage", - "PrePaidCard", - "Savings" - ] - }, - "Description": { - "description": "Specifies the description of the account type.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Nickname": { - "description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "OpeningDate": { - "description": "Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "MaturityDate": { - "description": "Maturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Account": { - "type": "array", - "items": { - "type": "object", - "description": "Provides the details to identify an account.", - "required": [ - "SchemeName", - "Identification" - ], - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - }, - "Servicer": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - } - }, - "additionalProperties": false - } - ] - } - } - } - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - } - } + "content": {} }, - "400": { - "description": "Bad request", + "403": { + "description": "Forbidden", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -2957,36 +2534,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -3018,95 +2605,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -3138,39 +2698,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -3184,7 +2824,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -3195,24 +2836,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -3225,36 +2868,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -3286,39 +2939,212 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -3326,80 +3152,74 @@ }, "security": [ { - "PSUOAuth2Security": [ + "TPPOAuth2Security": [ "accounts" ] } ] - } - }, - "/accounts/{AccountId}/balances": { - "get": { + }, + "delete": { "tags": [ - "Balances" + "Account Access" ], - "summary": "Get Balances", - "operationId": "GetAccountsAccountIdBalances", + "summary": "Delete Account Access Consents", + "operationId": "DeleteAccountAccessConsentsConsentId", "parameters": [ { - "name": "AccountId", + "name": "ConsentId", "in": "path", - "description": "AccountId", + "description": "ConsentId", "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], "responses": { - "200": { - "description": "Balances Read", + "204": { + "description": "Account Access Consents Deleted", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -3408,201 +3228,7 @@ } } }, - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "required": [ - "Balance" - ], - "properties": { - "Balance": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to define the balance details.", - "required": [ - "AccountId", - "CreditDebitIndicator", - "Type", - "DateTime", - "Amount" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Balance type, in a coded form.", - "type": "string", - "enum": [ - "ClosingAvailable", - "ClosingBooked", - "ClosingCleared", - "Expected", - "ForwardAvailable", - "Information", - "InterimAvailable", - "InterimBooked", - "InterimCleared", - "OpeningAvailable", - "OpeningBooked", - "OpeningCleared", - "PreviouslyClosedBooked" - ] - }, - "DateTime": { - "description": "Indicates the date (and time) of the balance.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money of the cash balance.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "CreditLine": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details on the credit line.", - "required": [ - "Included" - ], - "properties": { - "Included": { - "description": "Indicates whether or not the credit line is included in the balance of the account.\nUsage: If not present, credit line is not included in the balance amount of the account.", - "type": "boolean" - }, - "Type": { - "description": "Limit type, in a coded form.", - "type": "string", - "enum": [ - "Available", - "Credit", - "Emergency", - "Pre-Agreed", - "Temporary" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money of the credit line.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - } - } - }, - "minItems": 1 - } - } - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - } - } + "content": {} }, "400": { "description": "Bad request", @@ -3615,36 +3241,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -3676,95 +3312,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -3796,123 +3405,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -3944,120 +3498,32 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/accounts/{AccountId}/beneficiaries": { - "get": { - "tags": [ - "Beneficiaries" - ], - "summary": "Get Beneficiaries", - "operationId": "GetAccountsAccountIdBeneficiaries", - "parameters": [ - { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Beneficiaries Read", + "401": { + "description": "Unauthorized", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -4066,307 +3532,10 @@ } } }, - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "properties": { - "Beneficiary": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "object", - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "BeneficiaryId": { - "description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "BeneficiaryType": { - "description": "Specifies the Beneficiary Type.", - "type": "string", - "enum": [ - "Trusted", - "Ordinary" - ] - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "BeneficiaryId": { - "description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "BeneficiaryType": { - "description": "Specifies the Beneficiary Type.", - "type": "string", - "enum": [ - "Trusted", - "Ordinary" - ] - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - }, - "CreditorAgent": { - "type": "object", - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAccount": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the beneficiary account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - }, - "additionalProperties": false, - "required": [ - "CreditorAccount" - ] - } - ] - } - } - } - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - } - } + "content": {} }, - "400": { - "description": "Bad request", + "403": { + "description": "Forbidden", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -4376,36 +3545,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -4437,95 +3616,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -4557,50 +3709,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -4614,7 +3835,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -4625,24 +3847,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -4655,36 +3879,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -4716,39 +3950,212 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -4756,72 +4163,59 @@ }, "security": [ { - "PSUOAuth2Security": [ + "TPPOAuth2Security": [ "accounts" ] } ] } }, - "/accounts/{AccountId}/direct-debits": { + "/accounts": { "get": { "tags": [ - "Direct Debits" + "Accounts" ], - "summary": "Get Direct Debits", - "operationId": "GetAccountsAccountIdDirectDebits", + "summary": "Get Accounts", + "operationId": "GetAccounts", "parameters": [ { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -4829,7 +4223,7 @@ ], "responses": { "200": { - "description": "Direct Debits Read", + "description": "Accounts Read", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -4839,106 +4233,182 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", "properties": { - "DirectDebit": { + "Account": { "type": "array", "items": { - "type": "object", - "description": "Account to or from which a cash entry is made.", "required": [ "AccountId", - "MandateIdentification", - "Name" + "AccountSubType", + "AccountType", + "Currency" ], + "type": "object", "properties": { "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." }, - "DirectDebitId": { - "description": "A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner.", + "Status": { "type": "string", - "minLength": 1, - "maxLength": 40 + "description": "Specifies the status of account resource in code form.", + "enum": [ + "Deleted", + "Disabled", + "Enabled", + "Pending", + "ProForma" + ] }, - "MandateIdentification": { - "description": "Direct Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference.", + "StatusUpdateDateTime": { "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "DirectDebitStatusCode": { - "description": "Specifies the status of the direct debit in code form.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account." + }, + "AccountType": { "type": "string", + "description": "Specifies the type of account (personal or business).", "enum": [ - "Active", - "Inactive" + "Business", + "Personal" ] }, - "Name": { - "description": "Name of Service User.", + "AccountSubType": { + "type": "string", + "description": "Specifies the sub type of account (product family group).", + "enum": [ + "ChargeCard", + "CreditCard", + "CurrentAccount", + "EMoney", + "Loan", + "Mortgage", + "PrePaidCard", + "Savings" + ] + }, + "Description": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Specifies the description of the account type." + }, + "Nickname": { + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account." }, - "PreviousPaymentDateTime": { - "description": "Date of most recent direct debit collection.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "OpeningDate": { "type": "string", + "description": "Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "Frequency": { - "description": "Regularity with which direct debit instructions are to be created and processed.", + "MaturityDate": { + "type": "string", + "description": "Maturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "SwitchStatus": { "type": "string", + "description": "Specifies the switch status for the account, in a coded form.", "x-namespaced-enum": [ - "UK.OBIE.Annual", - "UK.OBIE.Daily", - "UK.OBIE.Fortnightly", - "UK.OBIE.HalfYearly", - "UK.OBIE.Monthly", - "UK.OBIE.NotKnown", - "UK.OBIE.Quarterly", - "UK.OBIE.Weekly" + "UK.CASS.NotSwitced", + "UK.CASS.SwitchCompleted" ] }, - "PreviousPaymentAmount": { - "type": "object", + "Account": { + "type": "array", + "items": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + }, + "Servicer": { "required": [ - "Amount", - "Currency" + "Identification", + "SchemeName" ], - "description": "The amount of the most recent direct debit collection.", + "type": "object", "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "SchemeName": { "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "Identification": { + "maxLength": 35, + "minLength": 1, "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Unique and unambiguous identification of the servicing institution." } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account." } - } + }, + "description": "Unambiguous identification of the account to which credit and debit entries are made." } } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -4961,200 +4431,533 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, "required": [ - "Code", - "Message", - "Errors" + "Data" ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 + "Data": { + "type": "object", + "properties": { + "Account": { + "type": "array", + "items": { + "required": [ + "AccountId", + "AccountSubType", + "AccountType", + "Currency" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "Status": { + "type": "string", + "description": "Specifies the status of account resource in code form.", + "enum": [ + "Deleted", + "Disabled", + "Enabled", + "Pending", + "ProForma" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account." + }, + "AccountType": { + "type": "string", + "description": "Specifies the type of account (personal or business).", + "enum": [ + "Business", + "Personal" + ] + }, + "AccountSubType": { + "type": "string", + "description": "Specifies the sub type of account (product family group).", + "enum": [ + "ChargeCard", + "CreditCard", + "CurrentAccount", + "EMoney", + "Loan", + "Mortgage", + "PrePaidCard", + "Savings" + ] + }, + "Description": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Specifies the description of the account type." + }, + "Nickname": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account." + }, + "OpeningDate": { + "type": "string", + "description": "Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "MaturityDate": { + "type": "string", + "description": "Maturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "SwitchStatus": { + "type": "string", + "description": "Specifies the switch status for the account, in a coded form.", + "x-namespaced-enum": [ + "UK.CASS.NotSwitced", + "UK.CASS.SwitchCompleted" + ] + }, + "Account": { + "type": "array", + "items": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + }, + "Servicer": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account." + } + }, + "description": "Unambiguous identification of the account to which credit and debit entries are made." + } + } + } }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Account": { + "type": "array", + "items": { + "required": [ + "AccountId", + "AccountSubType", + "AccountType", + "Currency" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "Status": { + "type": "string", + "description": "Specifies the status of account resource in code form.", + "enum": [ + "Deleted", + "Disabled", + "Enabled", + "Pending", + "ProForma" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account." + }, + "AccountType": { + "type": "string", + "description": "Specifies the type of account (personal or business).", + "enum": [ + "Business", + "Personal" + ] + }, + "AccountSubType": { + "type": "string", + "description": "Specifies the sub type of account (product family group).", + "enum": [ + "ChargeCard", + "CreditCard", + "CurrentAccount", + "EMoney", + "Loan", + "Mortgage", + "PrePaidCard", + "Savings" + ] + }, + "Description": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Specifies the description of the account type." + }, + "Nickname": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account." + }, + "OpeningDate": { + "type": "string", + "description": "Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "MaturityDate": { + "type": "string", + "description": "Maturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "SwitchStatus": { + "type": "string", + "description": "Specifies the switch status for the account, in a coded form.", + "x-namespaced-enum": [ + "UK.CASS.NotSwitced", + "UK.CASS.SwitchCompleted" + ] + }, + "Account": { + "type": "array", + "items": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + }, + "Servicer": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account." + } + }, + "description": "Unambiguous identification of the account to which credit and debit entries are made." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -5186,134 +4989,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -5345,120 +5082,125 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/accounts/{AccountId}/offers": { - "get": { - "tags": [ - "Offers" - ], - "summary": "Get Offers", - "operationId": "GetAccountsAccountIdOffers", - "parameters": [ - { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Offers Read", + "401": { + "description": "Unauthorized", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -5467,190 +5209,10 @@ } } }, - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "properties": { - "Offer": { - "type": "array", - "items": { - "type": "object", - "required": [ - "AccountId" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "OfferId": { - "description": "A unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "OfferType": { - "description": "Offer type, in a coded form.", - "type": "string", - "enum": [ - "BalanceTransfer", - "LimitIncrease", - "MoneyTransfer", - "Other", - "PromotionalRate" - ] - }, - "Description": { - "description": "Further details of the offer.", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "StartDateTime": { - "description": "Date and time at which the offer starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "EndDateTime": { - "description": "Date and time at which the offer ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Rate": { - "description": "Rate associated with the offer type.", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - }, - "Value": { - "description": "Value associated with the offer type.", - "type": "integer" - }, - "Term": { - "description": "Further details of the term of the offer.", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "URL": { - "description": "URL (Uniform Resource Locator) where documentation on the offer can be found", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the offer type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "Fee": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Fee associated with the offer type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - } - } - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - } - } + "content": {} }, - "400": { - "description": "Bad request", + "403": { + "description": "Forbidden", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -5660,36 +5222,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -5721,95 +5293,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -5841,50 +5386,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -5898,7 +5512,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -5909,24 +5524,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -5939,36 +5556,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -6000,42 +5627,215 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false - } - } - } + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } } }, "security": [ @@ -6047,13 +5847,13 @@ ] } }, - "/accounts/{AccountId}/parties": { + "/accounts/{AccountId}": { "get": { "tags": [ - "Parties" + "Accounts" ], - "summary": "Get Parties", - "operationId": "GetAccountsAccountIdParties", + "summary": "Get Accounts", + "operationId": "GetAccountsAccountId", "parameters": [ { "name": "AccountId", @@ -6065,47 +5865,43 @@ } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -6113,7 +5909,7 @@ ], "responses": { "200": { - "description": "Parties Read", + "description": "Accounts Read", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -6123,222 +5919,182 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", "properties": { - "Party": { + "Account": { "type": "array", "items": { - "type": "object", "required": [ - "PartyId" + "AccountId", + "AccountSubType", + "AccountType", + "Currency" ], + "type": "object", "properties": { - "PartyId": { - "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner.", - "type": "string", + "AccountId": { + "maxLength": 40, "minLength": 1, - "maxLength": 40 - }, - "PartyNumber": { - "description": "Number assigned by an agent to identify its customer.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." }, - "PartyType": { - "description": "Party type, in a coded form.", + "Status": { "type": "string", + "description": "Specifies the status of account resource in code form.", "enum": [ - "Delegate", - "Joint", - "Sole" + "Deleted", + "Disabled", + "Enabled", + "Pending", + "ProForma" ] }, - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", + "StatusUpdateDateTime": { "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "FullLegalName": { - "description": "Specifies a character string with a maximum length of 350 characters.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 350 + "description": "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account." }, - "LegalStructure": { - "description": "Legal standing of the party.", + "AccountType": { "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.CIC", - "UK.OBIE.CIO", - "UK.OBIE.Charity", - "UK.OBIE.CoOp", - "UK.OBIE.GeneralPartnership", - "UK.OBIE.Individual", - "UK.OBIE.LimitedLiabilityPartnership", - "UK.OBIE.LimitedPartnership", - "UK.OBIE.PrivateLimitedCompany", - "UK.OBIE.PublicLimitedCompany", - "UK.OBIE.ScottishLimitedPartnership", - "UK.OBIE.Sole" + "description": "Specifies the type of account (personal or business).", + "enum": [ + "Business", + "Personal" ] }, - "BeneficialOwnership": { - "type": "boolean" - }, - "AccountRole": { - "description": "A party’s role with respect to the related account.", + "AccountSubType": { "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Administrator", - "UK.OBIE.Beneficiary", - "UK.OBIE.CustodianForMinor", - "UK.OBIE.Granter", - "UK.OBIE.LegalGuardian", - "UK.OBIE.OtherParty", - "UK.OBIE.PowerOfAttorney", - "UK.OBIE.Principal", - "UK.OBIE.Protector", - "UK.OBIE.RegisteredShareholderName", - "UK.OBIE.SecondaryOwner", - "UK.OBIE.SeniorManagingOfficial", - "UK.OBIE.Settlor", - "UK.OBIE.SuccessorOnDeath" + "description": "Specifies the sub type of account (product family group).", + "enum": [ + "ChargeCard", + "CreditCard", + "CurrentAccount", + "EMoney", + "Loan", + "Mortgage", + "PrePaidCard", + "Savings" ] }, - "EmailAddress": { - "description": "Address for electronic mail (e-mail).", + "Description": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Specifies the description of the account type." + }, + "Nickname": { + "maxLength": 70, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account." }, - "Phone": { - "description": "Collection of information that identifies a phone number, as defined by telecom services.", + "OpeningDate": { "type": "string", - "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}" + "description": "Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "Mobile": { - "description": "Collection of information that identifies a mobile phone number, as defined by telecom services.", + "MaturityDate": { "type": "string", - "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}" + "description": "Maturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "Relationships": { - "type": "object", - "description": "The Party's relationships with other resources.", - "properties": { - "Account": { - "type": "object", - "required": [ - "Related", - "Id" - ], - "description": "Relationship to the Account resource.", - "properties": { - "Related": { - "description": "Absolute URI to the related resource.", - "type": "string", - "format": "uri" - }, - "Id": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - } - } - } - } + "SwitchStatus": { + "type": "string", + "description": "Specifies the switch status for the account, in a coded form.", + "x-namespaced-enum": [ + "UK.CASS.NotSwitced", + "UK.CASS.SwitchCompleted" + ] }, - "Address": { + "Account": { "type": "array", "items": { - "type": "object", - "description": "Postal address of a party.", "required": [ - "Country" + "Identification", + "SchemeName" ], + "type": "object", "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", + "SchemeName": { "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 5 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "Identification": { + "maxLength": 256, "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", "type": "string", - "minLength": 1, - "maxLength": 16 + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "Name": { + "maxLength": 350, "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country eg, state, region, county.", - "type": "string", + "SecondaryIdentification": { + "maxLength": 34, "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify an account." } + }, + "Servicer": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account." } }, - "additionalProperties": false + "description": "Unambiguous identification of the account to which credit and debit entries are made." } } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -6361,200 +6117,533 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Data" + ], "type": "object", "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 + "Data": { + "type": "object", + "properties": { + "Account": { + "type": "array", + "items": { + "required": [ + "AccountId", + "AccountSubType", + "AccountType", + "Currency" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "Status": { + "type": "string", + "description": "Specifies the status of account resource in code form.", + "enum": [ + "Deleted", + "Disabled", + "Enabled", + "Pending", + "ProForma" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account." + }, + "AccountType": { + "type": "string", + "description": "Specifies the type of account (personal or business).", + "enum": [ + "Business", + "Personal" + ] + }, + "AccountSubType": { + "type": "string", + "description": "Specifies the sub type of account (product family group).", + "enum": [ + "ChargeCard", + "CreditCard", + "CurrentAccount", + "EMoney", + "Loan", + "Mortgage", + "PrePaidCard", + "Savings" + ] + }, + "Description": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Specifies the description of the account type." + }, + "Nickname": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account." + }, + "OpeningDate": { + "type": "string", + "description": "Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "MaturityDate": { + "type": "string", + "description": "Maturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "SwitchStatus": { + "type": "string", + "description": "Specifies the switch status for the account, in a coded form.", + "x-namespaced-enum": [ + "UK.CASS.NotSwitced", + "UK.CASS.SwitchCompleted" + ] + }, + "Account": { + "type": "array", + "items": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + }, + "Servicer": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account." + } + }, + "description": "Unambiguous identification of the account to which credit and debit entries are made." + } + } + } }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } }, - "type": "array", - "minItems": 1 + "description": "Meta Data relevant to the payload" } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } - } - }, - "content": { - "application/json": { + }, + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Data" + ], "type": "object", "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { + "Data": { + "type": "object", + "properties": { + "Account": { + "type": "array", + "items": { + "required": [ + "AccountId", + "AccountSubType", + "AccountType", + "Currency" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "Status": { + "type": "string", + "description": "Specifies the status of account resource in code form.", + "enum": [ + "Deleted", + "Disabled", + "Enabled", + "Pending", + "ProForma" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account." + }, + "AccountType": { + "type": "string", + "description": "Specifies the type of account (personal or business).", + "enum": [ + "Business", + "Personal" + ] + }, + "AccountSubType": { + "type": "string", + "description": "Specifies the sub type of account (product family group).", + "enum": [ + "ChargeCard", + "CreditCard", + "CurrentAccount", + "EMoney", + "Loan", + "Mortgage", + "PrePaidCard", + "Savings" + ] + }, + "Description": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Specifies the description of the account type." + }, + "Nickname": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account." + }, + "OpeningDate": { + "type": "string", + "description": "Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "MaturityDate": { + "type": "string", + "description": "Maturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "SwitchStatus": { + "type": "string", + "description": "Specifies the switch status for the account, in a coded form.", + "x-namespaced-enum": [ + "UK.CASS.NotSwitced", + "UK.CASS.SwitchCompleted" + ] + }, + "Account": { + "type": "array", + "items": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + }, + "Servicer": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account." + } + }, + "description": "Unambiguous identification of the account to which credit and debit entries are made." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -6586,95 +6675,230 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "429": { - "description": "Too Many Requests", + "401": { + "description": "Unauthorized", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } - } + }, + "content": {} }, - "500": { - "description": "Internal Server Error", + "403": { + "description": "Forbidden", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -6684,36 +6908,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -6745,438 +6979,161 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false - } - } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/accounts/{AccountId}/party": { - "get": { - "tags": [ - "Parties" - ], - "summary": "Get Parties", - "operationId": "GetAccountsAccountIdParty", - "parameters": [ - { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Parties Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "properties": { - "Party": { - "type": "object", - "required": [ - "PartyId" - ], - "properties": { - "PartyId": { - "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "PartyNumber": { - "description": "Number assigned by an agent to identify its customer.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "PartyType": { - "description": "Party type, in a coded form.", - "type": "string", - "enum": [ - "Delegate", - "Joint", - "Sole" - ] - }, - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "FullLegalName": { - "description": "Specifies a character string with a maximum length of 350 characters.", - "type": "string", - "minLength": 1, - "maxLength": 350 - }, - "LegalStructure": { - "description": "Legal standing of the party.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.CIC", - "UK.OBIE.CIO", - "UK.OBIE.Charity", - "UK.OBIE.CoOp", - "UK.OBIE.GeneralPartnership", - "UK.OBIE.Individual", - "UK.OBIE.LimitedLiabilityPartnership", - "UK.OBIE.LimitedPartnership", - "UK.OBIE.PrivateLimitedCompany", - "UK.OBIE.PublicLimitedCompany", - "UK.OBIE.ScottishLimitedPartnership", - "UK.OBIE.Sole" - ] - }, - "BeneficialOwnership": { - "type": "boolean" - }, - "AccountRole": { - "description": "A party’s role with respect to the related account.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Administrator", - "UK.OBIE.Beneficiary", - "UK.OBIE.CustodianForMinor", - "UK.OBIE.Granter", - "UK.OBIE.LegalGuardian", - "UK.OBIE.OtherParty", - "UK.OBIE.PowerOfAttorney", - "UK.OBIE.Principal", - "UK.OBIE.Protector", - "UK.OBIE.RegisteredShareholderName", - "UK.OBIE.SecondaryOwner", - "UK.OBIE.SeniorManagingOfficial", - "UK.OBIE.Settlor", - "UK.OBIE.SuccessorOnDeath" - ] - }, - "EmailAddress": { - "description": "Address for electronic mail (e-mail).", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Phone": { - "description": "Collection of information that identifies a phone number, as defined by telecom services.", - "type": "string", - "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}" - }, - "Mobile": { - "description": "Collection of information that identifies a mobile phone number, as defined by telecom services.", - "type": "string", - "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}" - }, - "Relationships": { - "type": "object", - "description": "The Party's relationships with other resources.", - "properties": { - "Account": { - "type": "object", - "required": [ - "Related", - "Id" - ], - "description": "Relationship to the Account resource.", - "properties": { - "Related": { - "description": "Absolute URI to the related resource.", - "type": "string", - "format": "uri" - }, - "Id": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - } - } - } - } - }, - "Address": { - "type": "array", - "items": { - "type": "object", - "description": "Postal address of a party.", - "required": [ - "Country" - ], - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 5 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country eg, state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - } - } - } - } - }, - "additionalProperties": false - } - } - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -7208,45 +7165,32 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "401": { - "description": "Unauthorized", + "405": { + "description": "Method Not Allowed", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -7254,10 +7198,41 @@ "type": "string" } } - } + }, + "content": {} }, - "403": { - "description": "Forbidden", + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -7267,36 +7242,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -7328,134 +7313,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -7487,60 +7406,140 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false - } - } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/accounts/{AccountId}/product": { + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/balances": { "get": { "tags": [ - "Products" + "Balances" ], - "summary": "Get Products", - "operationId": "GetAccountsAccountIdProduct", + "summary": "Get Balances", + "operationId": "GetAccountsAccountIdBalances", "parameters": [ { "name": "AccountId", @@ -7552,47 +7551,43 @@ } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -7600,7 +7595,7 @@ ], "responses": { "200": { - "description": "Products Read", + "description": "Balances Read", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -7610,762 +7605,26721 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], - "description": "Product details of Other Product which is not avaiable in the standard list", + "type": "object", "properties": { "Data": { + "required": [ + "Balance" + ], "type": "object", - "description": "Aligning with the read write specs structure.", "properties": { - "Product": { + "Balance": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Product details associated with the Account", "required": [ "AccountId", - "ProductType" + "Amount", + "CreditDebitIndicator", + "DateTime", + "Type" ], + "type": "object", "properties": { - "ProductName": { - "description": "The name of the Product used for marketing purposes from a customer perspective. I.e. what the customer would recognise.", - "type": "string", + "AccountId": { + "maxLength": 40, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." }, - "ProductId": { - "description": "The unique ID that has been internally assigned by the financial institution to each of the current account banking products they market to their retail and/or small to medium enterprise (SME) customers.", + "CreditDebitIndicator": { "type": "string", - "minLength": 1, - "maxLength": 40 + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", + "enum": [ + "Credit", + "Debit" + ] }, - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", + "Type": { "type": "string", - "minLength": 1, - "maxLength": 40 + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] }, - "SecondaryProductId": { - "description": "Any secondary Identification which supports Product Identifier to uniquely identify the current account banking products.", + "DateTime": { "type": "string", + "description": "Indicates the date (and time) of the balance.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the cash balance." + }, + "CreditLine": { + "type": "array", + "items": { + "required": [ + "Included" + ], + "type": "object", + "properties": { + "Included": { + "type": "boolean", + "description": "Indicates whether or not the credit line is included in the balance of the account.\nUsage: If not present, credit line is not included in the balance amount of the account." + }, + "Type": { + "type": "string", + "description": "Limit type, in a coded form.", + "enum": [ + "Available", + "Credit", + "Emergency", + "Pre-Agreed", + "Temporary" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the credit line." + } + }, + "description": "Set of elements used to provide details on the credit line." + } + } + }, + "description": "Set of elements used to define the balance details." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Balance" + ], + "type": "object", + "properties": { + "Balance": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "AccountId", + "Amount", + "CreditDebitIndicator", + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." }, - "ProductType": { - "description": "Product type : Personal Current Account, Business Current Account", + "CreditDebitIndicator": { "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", "enum": [ - "BusinessCurrentAccount", - "CommercialCreditCard", - "Other", - "PersonalCurrentAccount", - "SMELoan" + "Credit", + "Debit" ] }, - "MarketingStateId": { - "description": "Unique and unambiguous identification of a Product Marketing State.", + "Type": { "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] }, - "OtherProductType": { - "type": "object", + "DateTime": { + "type": "string", + "description": "Indicates the date (and time) of the balance.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Amount": { "required": [ - "Name", - "Description" + "Amount", + "Currency" ], - "description": "Other product type details associated with the account.", + "type": "object", "properties": { - "Name": { - "description": "Long name associated with the product", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "minLength": 1, - "maxLength": 350 + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "Description": { - "description": "Description of the Product associated with the account", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 350 - }, - "ProductDetails": { - "type": "object", - "properties": { - "Segment": { - "type": "array", - "items": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd ", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the cash balance." + }, + "CreditLine": { + "type": "array", + "items": { + "required": [ + "Included" + ], + "type": "object", + "properties": { + "Included": { + "type": "boolean", + "description": "Indicates whether or not the credit line is included in the balance of the account.\nUsage: If not present, credit line is not included in the balance amount of the account." + }, + "Type": { + "type": "string", + "description": "Limit type, in a coded form.", + "enum": [ + "Available", + "Credit", + "Emergency", + "Pre-Agreed", + "Temporary" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "enum": [ - "GEAS", - "GEBA", - "GEBR", - "GEBU", - "GECI", - "GECS", - "GEFB", - "GEFG", - "GEG", - "GEGR", - "GEGS", - "GEOT", - "GEOV", - "GEPA", - "GEPR", - "GERE", - "GEST", - "GEYA", - "GEYO", - "PSCA", - "PSES", - "PSNC", - "PSNP", - "PSRG", - "PSSS", - "PSST", - "PSSW" - ] - } - }, - "FeeFreeLength": { - "description": "The length/duration of the fee free period", - "type": "integer" - }, - "FeeFreeLengthPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the promotional length", - "type": "string", - "enum": [ - "PACT", - "PDAY", - "PHYR", - "PMTH", - "PQTR", - "PWEK", - "PYER" - ] - }, - "MonthlyMaximumCharge": { - "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order", - "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" - }, - "Notes": { - "type": "array", - "items": { - "description": "Optional additional notes to supplement the Core product details", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 2000 + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } }, - "OtherSegment": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "type": "string", - "pattern": "^\\\\w{0,4}$" - }, - "Name": { - "description": "Long name associated with the code", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false - } + "description": "Amount of money of the credit line." } }, - "CreditInterest": { - "type": "object", - "required": [ - "TierBandSet" - ], - "description": "Details about the interest that may be payable to the Account holders", - "properties": { - "TierBandSet": { - "type": "array", - "items": { - "type": "object", - "description": "The group of tiers or bands for which credit interest can be applied.", - "required": [ - "TierBandMethod", - "Destination", - "TierBand" - ], - "properties": { - "TierBandMethod": { - "description": "The methodology of how credit interest is paid/applied. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the product holder's account balance", - "type": "string", - "enum": [ - "INBA", - "INTI", - "INWH" - ] - }, - "CalculationMethod": { - "description": "Methods of calculating interest", - "type": "string", - "enum": [ - "ITCO", - "ITOT", - "ITSI" - ] - }, - "Destination": { - "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", - "type": "string", - "enum": [ - "INOT", - "INPA", - "INSC" - ] - }, - "Notes": { - "type": "array", - "items": { - "description": "Optional additional notes to supplement the Tier Band Set details", - "type": "string", - "minLength": 1, - "maxLength": 2000 - } - }, - "OtherCalculationMethod": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "type": "string", - "pattern": "^\\\\w{0,4}$" - }, - "Name": { - "description": "Long name associated with the code", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false - }, - "OtherDestination": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "type": "string", - "pattern": "^\\\\w{0,4}$" - }, - "Name": { - "description": "Long name associated with the code", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false - }, - "TierBand": { - "type": "array", - "items": { - "type": "object", - "description": "Tier Band Details", - "required": [ - "TierValueMinimum", - "ApplicationFrequency", - "FixedVariableInterestRateType", - "AER" - ], - "properties": { - "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for the Product.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "TierValueMinimum": { - "description": "Minimum deposit value for which the credit interest tier applies.", - "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" - }, - "TierValueMaximum": { - "description": "Maximum deposit value for which the credit interest tier applies.", - "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" - }, - "CalculationFrequency": { - "description": "How often is credit interest calculated for the account.", - "type": "string", - "enum": [ - "FQAT", - "FQDY", - "FQHY", - "FQMY", - "FQOT", - "FQQY", - "FQSD", - "FQWY", - "FQYY" - ] - }, - "ApplicationFrequency": { - "description": "How often is interest applied to the Product for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's account.", - "type": "string", - "enum": [ - "FQAT", - "FQDY", - "FQHY", - "FQMY", - "FQOT", - "FQQY", - "FQSD", - "FQWY", - "FQYY" - ] - }, - "DepositInterestAppliedCoverage": { - "description": "Amount on which Interest applied.", - "type": "string", - "enum": [ - "INBA", - "INTI", - "INWH" - ] - }, - "FixedVariableInterestRateType": { - "description": "Type of interest rate, Fixed or Variable", - "type": "string", - "enum": [ - "INFI", - "INVA" - ] - }, - "AER": { - "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A", - "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" - }, - "BankInterestRateType": { - "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the account holder's account.", - "type": "string", - "enum": [ - "INBB", - "INFR", - "INGR", - "INLR", - "INNE", - "INOT" - ] - }, - "BankInterestRate": { - "description": "Bank Interest for the product", - "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" - }, - "Notes": { - "type": "array", - "items": { - "description": "Optional additional notes to supplement the Tier Band details", - "type": "string", - "minLength": 1, - "maxLength": 2000 - } - }, - "OtherBankInterestType": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "description": "Other interest rate types which are not available in the standard code list", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "type": "string", - "pattern": "^\\\\w{0,4}$" - }, - "Name": { - "description": "Long name associated with the code", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - } - }, - "OtherApplicationFrequency": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "description": "Other application frequencies that are not available in the standard code list", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "type": "string", - "pattern": "^\\\\w{0,4}$" - }, - "Name": { - "description": "Long name associated with the code", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false - }, - "OtherCalculationFrequency": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "description": "Other calculation frequency which is not available in the standard code set.", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "type": "string", - "pattern": "^\\\\w{0,4}$" - }, - "Name": { - "description": "Long name associated with the code", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false - } - } - }, - "minItems": 1 - } - } - }, - "minItems": 1 - } - } + "description": "Set of elements used to provide details on the credit line." + } + } + }, + "description": "Set of elements used to define the balance details." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Balance" + ], + "type": "object", + "properties": { + "Balance": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "AccountId", + "Amount", + "CreditDebitIndicator", + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] + }, + "DateTime": { + "type": "string", + "description": "Indicates the date (and time) of the balance.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "Overdraft": { - "type": "object", - "required": [ - "OverdraftTierBandSet" - ], - "description": "Borrowing details", - "properties": { - "Notes": { - "type": "array", - "items": { - "description": "Associated Notes about the overdraft rates", + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the cash balance." + }, + "CreditLine": { + "type": "array", + "items": { + "required": [ + "Included" + ], + "type": "object", + "properties": { + "Included": { + "type": "boolean", + "description": "Indicates whether or not the credit line is included in the balance of the account.\nUsage: If not present, credit line is not included in the balance amount of the account." + }, + "Type": { + "type": "string", + "description": "Limit type, in a coded form.", + "enum": [ + "Available", + "Credit", + "Emergency", + "Pre-Agreed", + "Temporary" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "minLength": 1, - "maxLength": 2000 + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } }, - "OverdraftTierBandSet": { - "type": "array", - "items": { - "type": "object", - "description": "Tier band set details", - "required": [ - "TierBandMethod", - "OverdraftTierBand" - ], - "properties": { - "TierBandMethod": { - "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", - "type": "string", - "enum": [ - "INBA", - "INTI", - "INWH" - ] - }, - "OverdraftType": { - "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", - "type": "string", - "enum": [ - "OVCO", - "OVOD", - "OVOT" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft product.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "AuthorisedIndicator": { - "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)", - "type": "boolean" - }, - "BufferAmount": { - "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply.", - "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" - }, - "Notes": { - "type": "array", - "items": { - "description": "Optional additional notes to supplement the overdraft Tier Band Set details", - "type": "string", - "minLength": 1, - "maxLength": 2000 - } - }, - "OverdraftTierBand": { - "type": "array", - "items": { - "type": "object", - "description": "Provides overdraft details for a specific tier or band", - "required": [ - "TierValueMin" - ], - "properties": { - "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "TierValueMin": { - "description": "Minimum value of Overdraft Tier/Band", - "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" - }, - "TierValueMax": { - "description": "Maximum value of Overdraft Tier/Band", - "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" - }, - "EAR": { - "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft.", - "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" - }, - "AgreementLengthMin": { - "description": "Specifies the minimum length of a band for a fixed overdraft agreement", - "type": "integer" - }, - "AgreementLengthMax": { - "description": "Specifies the maximum length of a band for a fixed overdraft agreement", - "type": "integer" - }, - "AgreementPeriod": { - "description": "Specifies the period of a fixed length overdraft agreement", - "type": "string", - "enum": [ - "PACT", - "PDAY", - "PHYR", - "PMTH", - "PQTR", - "PWEK", - "PYER" - ] - }, - "OverdraftInterestChargingCoverage": { - "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is �2k and the interest tiers are:- 0-�500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the �Whole� of the account balance, and in the 2nd that it is �Tiered�.", - "type": "string", - "enum": [ - "INBA", - "INTI", - "INWH" - ] - }, - "BankGuaranteedIndicator": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", - "type": "boolean" - }, - "Notes": { - "type": "array", - "items": { - "description": "Optional additional notes to supplement the Tier/band details", - "type": "string", - "minLength": 1, - "maxLength": 2000 - } - }, - "OverdraftFeesCharges": { - "type": "array", - "items": { - "type": "object", - "description": "Overdraft fees and charges", - "required": [ - "OverdraftFeeChargeDetail" - ], - "properties": { - "OverdraftFeeChargeCap": { - "type": "array", - "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "required": [ - "FeeType", - "MinMaxType" - ], - "properties": { - "FeeType": { - "type": "array", - "items": { - "description": "Fee/charge type which is being capped", - "type": "string", - "enum": [ - "FBAO", - "FBAR", - "FBEB", - "FBIT", - "FBOR", - "FBOS", - "FBSC", - "FBTO", - "FBUB", - "FBUT", - "FTOT", - "FTUT" - ] - }, - "minItems": 1 - }, - "MinMaxType": { - "description": "Min Max type", - "type": "string", - "enum": [ - "FMMN", - "FMMX" - ] - }, - "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", - "type": "integer" - }, - "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", - "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" - }, - "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", - "type": "string", - "enum": [ - "PACT", - "PDAY", - "PHYR", - "PMTH", - "PQTR", - "PWEK", - "PYER" - ] - }, + "description": "Amount of money of the credit line." + } + }, + "description": "Set of elements used to provide details on the credit line." + } + } + }, + "description": "Set of elements used to define the balance details." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/beneficiaries": { + "get": { + "tags": [ + "Beneficiaries" + ], + "summary": "Get Beneficiaries", + "operationId": "GetAccountsAccountIdBeneficiaries", + "parameters": [ + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Beneficiaries Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Beneficiary": { + "type": "array", + "items": { + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "BeneficiaryId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner." + }, + "BeneficiaryType": { + "type": "string", + "description": "Specifies the Beneficiary Type.", + "enum": [ + "Trusted", + "Ordinary" + ] + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Beneficiary": { + "type": "array", + "items": { + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "BeneficiaryId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner." + }, + "BeneficiaryType": { + "type": "string", + "description": "Specifies the Beneficiary Type.", + "enum": [ + "Trusted", + "Ordinary" + ] + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Beneficiary": { + "type": "array", + "items": { + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "BeneficiaryId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner." + }, + "BeneficiaryType": { + "type": "string", + "description": "Specifies the Beneficiary Type.", + "enum": [ + "Trusted", + "Ordinary" + ] + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/direct-debits": { + "get": { + "tags": [ + "Direct Debits" + ], + "summary": "Get Direct Debits", + "operationId": "GetAccountsAccountIdDirectDebits", + "parameters": [ + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Direct Debits Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "DirectDebit": { + "type": "array", + "items": { + "required": [ + "AccountId", + "MandateIdentification", + "Name" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "DirectDebitId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner." + }, + "MandateIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Direct Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference." + }, + "DirectDebitStatusCode": { + "type": "string", + "description": "Specifies the status of the direct debit in code form.", + "enum": [ + "Active", + "Inactive" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of Service User." + }, + "PreviousPaymentDateTime": { + "type": "string", + "description": "Date of most recent direct debit collection.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Frequency": { + "type": "string", + "description": "Regularity with which direct debit instructions are to be created and processed.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.Daily", + "UK.OBIE.Fortnightly", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.NotKnown", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly" + ] + }, + "PreviousPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the most recent direct debit collection." + } + }, + "description": "Account to or from which a cash entry is made." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "DirectDebit": { + "type": "array", + "items": { + "required": [ + "AccountId", + "MandateIdentification", + "Name" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "DirectDebitId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner." + }, + "MandateIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Direct Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference." + }, + "DirectDebitStatusCode": { + "type": "string", + "description": "Specifies the status of the direct debit in code form.", + "enum": [ + "Active", + "Inactive" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of Service User." + }, + "PreviousPaymentDateTime": { + "type": "string", + "description": "Date of most recent direct debit collection.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Frequency": { + "type": "string", + "description": "Regularity with which direct debit instructions are to be created and processed.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.Daily", + "UK.OBIE.Fortnightly", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.NotKnown", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly" + ] + }, + "PreviousPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the most recent direct debit collection." + } + }, + "description": "Account to or from which a cash entry is made." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "DirectDebit": { + "type": "array", + "items": { + "required": [ + "AccountId", + "MandateIdentification", + "Name" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "DirectDebitId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner." + }, + "MandateIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Direct Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference." + }, + "DirectDebitStatusCode": { + "type": "string", + "description": "Specifies the status of the direct debit in code form.", + "enum": [ + "Active", + "Inactive" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of Service User." + }, + "PreviousPaymentDateTime": { + "type": "string", + "description": "Date of most recent direct debit collection.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Frequency": { + "type": "string", + "description": "Regularity with which direct debit instructions are to be created and processed.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.Daily", + "UK.OBIE.Fortnightly", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.NotKnown", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly" + ] + }, + "PreviousPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the most recent direct debit collection." + } + }, + "description": "Account to or from which a cash entry is made." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/offers": { + "get": { + "tags": [ + "Offers" + ], + "summary": "Get Offers", + "operationId": "GetAccountsAccountIdOffers", + "parameters": [ + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Offers Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Offer": { + "type": "array", + "items": { + "required": [ + "AccountId" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "OfferId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner." + }, + "OfferType": { + "type": "string", + "description": "Offer type, in a coded form.", + "enum": [ + "BalanceTransfer", + "LimitIncrease", + "MoneyTransfer", + "Other", + "PromotionalRate" + ] + }, + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the offer." + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the offer starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the offer ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the offer type." + }, + "Value": { + "type": "integer", + "description": "Value associated with the offer type." + }, + "Term": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the term of the offer." + }, + "URL": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "URL (Uniform Resource Locator) where documentation on the offer can be found" + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the offer type." + }, + "Fee": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Fee associated with the offer type." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Offer": { + "type": "array", + "items": { + "required": [ + "AccountId" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "OfferId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner." + }, + "OfferType": { + "type": "string", + "description": "Offer type, in a coded form.", + "enum": [ + "BalanceTransfer", + "LimitIncrease", + "MoneyTransfer", + "Other", + "PromotionalRate" + ] + }, + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the offer." + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the offer starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the offer ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the offer type." + }, + "Value": { + "type": "integer", + "description": "Value associated with the offer type." + }, + "Term": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the term of the offer." + }, + "URL": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "URL (Uniform Resource Locator) where documentation on the offer can be found" + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the offer type." + }, + "Fee": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Fee associated with the offer type." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Offer": { + "type": "array", + "items": { + "required": [ + "AccountId" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "OfferId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner." + }, + "OfferType": { + "type": "string", + "description": "Offer type, in a coded form.", + "enum": [ + "BalanceTransfer", + "LimitIncrease", + "MoneyTransfer", + "Other", + "PromotionalRate" + ] + }, + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the offer." + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the offer starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the offer ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the offer type." + }, + "Value": { + "type": "integer", + "description": "Value associated with the offer type." + }, + "Term": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the term of the offer." + }, + "URL": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "URL (Uniform Resource Locator) where documentation on the offer can be found" + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the offer type." + }, + "Fee": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Fee associated with the offer type." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/parties": { + "get": { + "tags": [ + "Parties" + ], + "summary": "Get Parties", + "operationId": "GetAccountsAccountIdParties", + "parameters": [ + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Parties Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Party": { + "type": "array", + "items": { + "required": [ + "PartyId" + ], + "type": "object", + "properties": { + "PartyId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner." + }, + "PartyNumber": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number assigned by an agent to identify its customer." + }, + "PartyType": { + "type": "string", + "description": "Party type, in a coded form.", + "enum": [ + "Delegate", + "Joint", + "Sole" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "FullLegalName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 350 characters." + }, + "LegalStructure": { + "type": "string", + "description": "Legal standing of the party.", + "x-namespaced-enum": [ + "UK.OBIE.CIC", + "UK.OBIE.CIO", + "UK.OBIE.Charity", + "UK.OBIE.CoOp", + "UK.OBIE.GeneralPartnership", + "UK.OBIE.Individual", + "UK.OBIE.LimitedLiabilityPartnership", + "UK.OBIE.LimitedPartnership", + "UK.OBIE.PrivateLimitedCompany", + "UK.OBIE.PublicLimitedCompany", + "UK.OBIE.ScottishLimitedPartnership", + "UK.OBIE.Sole" + ] + }, + "BeneficialOwnership": { + "type": "boolean" + }, + "AccountRole": { + "type": "string", + "description": "A party’s role with respect to the related account.", + "x-namespaced-enum": [ + "UK.OBIE.Administrator", + "UK.OBIE.Beneficiary", + "UK.OBIE.CustodianForMinor", + "UK.OBIE.Granter", + "UK.OBIE.LegalGuardian", + "UK.OBIE.OtherParty", + "UK.OBIE.PowerOfAttorney", + "UK.OBIE.Principal", + "UK.OBIE.Protector", + "UK.OBIE.RegisteredShareholderName", + "UK.OBIE.SecondaryOwner", + "UK.OBIE.SeniorManagingOfficial", + "UK.OBIE.Settlor", + "UK.OBIE.SuccessorOnDeath" + ] + }, + "EmailAddress": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Address for electronic mail (e-mail)." + }, + "Phone": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a phone number, as defined by telecom services." + }, + "Mobile": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a mobile phone number, as defined by telecom services." + }, + "Relationships": { + "type": "object", + "properties": { + "Account": { + "required": [ + "Id", + "Related" + ], + "type": "object", + "properties": { + "Related": { + "type": "string", + "description": "Absolute URI to the related resource.", + "format": "uri" + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource." + } + }, + "description": "Relationship to the Account resource." + } + }, + "description": "The Party's relationships with other resources." + }, + "Address": { + "type": "array", + "items": { + "required": [ + "Country" + ], + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "AddressLine": { + "maxItems": 5, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country eg, state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Postal address of a party." + } + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Party": { + "type": "array", + "items": { + "required": [ + "PartyId" + ], + "type": "object", + "properties": { + "PartyId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner." + }, + "PartyNumber": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number assigned by an agent to identify its customer." + }, + "PartyType": { + "type": "string", + "description": "Party type, in a coded form.", + "enum": [ + "Delegate", + "Joint", + "Sole" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "FullLegalName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 350 characters." + }, + "LegalStructure": { + "type": "string", + "description": "Legal standing of the party.", + "x-namespaced-enum": [ + "UK.OBIE.CIC", + "UK.OBIE.CIO", + "UK.OBIE.Charity", + "UK.OBIE.CoOp", + "UK.OBIE.GeneralPartnership", + "UK.OBIE.Individual", + "UK.OBIE.LimitedLiabilityPartnership", + "UK.OBIE.LimitedPartnership", + "UK.OBIE.PrivateLimitedCompany", + "UK.OBIE.PublicLimitedCompany", + "UK.OBIE.ScottishLimitedPartnership", + "UK.OBIE.Sole" + ] + }, + "BeneficialOwnership": { + "type": "boolean" + }, + "AccountRole": { + "type": "string", + "description": "A party’s role with respect to the related account.", + "x-namespaced-enum": [ + "UK.OBIE.Administrator", + "UK.OBIE.Beneficiary", + "UK.OBIE.CustodianForMinor", + "UK.OBIE.Granter", + "UK.OBIE.LegalGuardian", + "UK.OBIE.OtherParty", + "UK.OBIE.PowerOfAttorney", + "UK.OBIE.Principal", + "UK.OBIE.Protector", + "UK.OBIE.RegisteredShareholderName", + "UK.OBIE.SecondaryOwner", + "UK.OBIE.SeniorManagingOfficial", + "UK.OBIE.Settlor", + "UK.OBIE.SuccessorOnDeath" + ] + }, + "EmailAddress": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Address for electronic mail (e-mail)." + }, + "Phone": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a phone number, as defined by telecom services." + }, + "Mobile": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a mobile phone number, as defined by telecom services." + }, + "Relationships": { + "type": "object", + "properties": { + "Account": { + "required": [ + "Id", + "Related" + ], + "type": "object", + "properties": { + "Related": { + "type": "string", + "description": "Absolute URI to the related resource.", + "format": "uri" + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource." + } + }, + "description": "Relationship to the Account resource." + } + }, + "description": "The Party's relationships with other resources." + }, + "Address": { + "type": "array", + "items": { + "required": [ + "Country" + ], + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "AddressLine": { + "maxItems": 5, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country eg, state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Postal address of a party." + } + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Party": { + "type": "array", + "items": { + "required": [ + "PartyId" + ], + "type": "object", + "properties": { + "PartyId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner." + }, + "PartyNumber": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number assigned by an agent to identify its customer." + }, + "PartyType": { + "type": "string", + "description": "Party type, in a coded form.", + "enum": [ + "Delegate", + "Joint", + "Sole" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "FullLegalName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 350 characters." + }, + "LegalStructure": { + "type": "string", + "description": "Legal standing of the party.", + "x-namespaced-enum": [ + "UK.OBIE.CIC", + "UK.OBIE.CIO", + "UK.OBIE.Charity", + "UK.OBIE.CoOp", + "UK.OBIE.GeneralPartnership", + "UK.OBIE.Individual", + "UK.OBIE.LimitedLiabilityPartnership", + "UK.OBIE.LimitedPartnership", + "UK.OBIE.PrivateLimitedCompany", + "UK.OBIE.PublicLimitedCompany", + "UK.OBIE.ScottishLimitedPartnership", + "UK.OBIE.Sole" + ] + }, + "BeneficialOwnership": { + "type": "boolean" + }, + "AccountRole": { + "type": "string", + "description": "A party’s role with respect to the related account.", + "x-namespaced-enum": [ + "UK.OBIE.Administrator", + "UK.OBIE.Beneficiary", + "UK.OBIE.CustodianForMinor", + "UK.OBIE.Granter", + "UK.OBIE.LegalGuardian", + "UK.OBIE.OtherParty", + "UK.OBIE.PowerOfAttorney", + "UK.OBIE.Principal", + "UK.OBIE.Protector", + "UK.OBIE.RegisteredShareholderName", + "UK.OBIE.SecondaryOwner", + "UK.OBIE.SeniorManagingOfficial", + "UK.OBIE.Settlor", + "UK.OBIE.SuccessorOnDeath" + ] + }, + "EmailAddress": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Address for electronic mail (e-mail)." + }, + "Phone": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a phone number, as defined by telecom services." + }, + "Mobile": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a mobile phone number, as defined by telecom services." + }, + "Relationships": { + "type": "object", + "properties": { + "Account": { + "required": [ + "Id", + "Related" + ], + "type": "object", + "properties": { + "Related": { + "type": "string", + "description": "Absolute URI to the related resource.", + "format": "uri" + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource." + } + }, + "description": "Relationship to the Account resource." + } + }, + "description": "The Party's relationships with other resources." + }, + "Address": { + "type": "array", + "items": { + "required": [ + "Country" + ], + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "AddressLine": { + "maxItems": 5, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country eg, state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Postal address of a party." + } + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/party": { + "get": { + "tags": [ + "Parties" + ], + "summary": "Get Parties", + "operationId": "GetAccountsAccountIdParty", + "parameters": [ + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Parties Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Party": { + "required": [ + "PartyId" + ], + "type": "object", + "properties": { + "PartyId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner." + }, + "PartyNumber": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number assigned by an agent to identify its customer." + }, + "PartyType": { + "type": "string", + "description": "Party type, in a coded form.", + "enum": [ + "Delegate", + "Joint", + "Sole" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "FullLegalName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 350 characters." + }, + "LegalStructure": { + "type": "string", + "description": "Legal standing of the party.", + "x-namespaced-enum": [ + "UK.OBIE.CIC", + "UK.OBIE.CIO", + "UK.OBIE.Charity", + "UK.OBIE.CoOp", + "UK.OBIE.GeneralPartnership", + "UK.OBIE.Individual", + "UK.OBIE.LimitedLiabilityPartnership", + "UK.OBIE.LimitedPartnership", + "UK.OBIE.PrivateLimitedCompany", + "UK.OBIE.PublicLimitedCompany", + "UK.OBIE.ScottishLimitedPartnership", + "UK.OBIE.Sole" + ] + }, + "BeneficialOwnership": { + "type": "boolean" + }, + "AccountRole": { + "type": "string", + "description": "A party’s role with respect to the related account.", + "x-namespaced-enum": [ + "UK.OBIE.Administrator", + "UK.OBIE.Beneficiary", + "UK.OBIE.CustodianForMinor", + "UK.OBIE.Granter", + "UK.OBIE.LegalGuardian", + "UK.OBIE.OtherParty", + "UK.OBIE.PowerOfAttorney", + "UK.OBIE.Principal", + "UK.OBIE.Protector", + "UK.OBIE.RegisteredShareholderName", + "UK.OBIE.SecondaryOwner", + "UK.OBIE.SeniorManagingOfficial", + "UK.OBIE.Settlor", + "UK.OBIE.SuccessorOnDeath" + ] + }, + "EmailAddress": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Address for electronic mail (e-mail)." + }, + "Phone": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a phone number, as defined by telecom services." + }, + "Mobile": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a mobile phone number, as defined by telecom services." + }, + "Relationships": { + "type": "object", + "properties": { + "Account": { + "required": [ + "Id", + "Related" + ], + "type": "object", + "properties": { + "Related": { + "type": "string", + "description": "Absolute URI to the related resource.", + "format": "uri" + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource." + } + }, + "description": "Relationship to the Account resource." + } + }, + "description": "The Party's relationships with other resources." + }, + "Address": { + "type": "array", + "items": { + "required": [ + "Country" + ], + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "AddressLine": { + "maxItems": 5, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country eg, state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Postal address of a party." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Party": { + "required": [ + "PartyId" + ], + "type": "object", + "properties": { + "PartyId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner." + }, + "PartyNumber": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number assigned by an agent to identify its customer." + }, + "PartyType": { + "type": "string", + "description": "Party type, in a coded form.", + "enum": [ + "Delegate", + "Joint", + "Sole" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "FullLegalName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 350 characters." + }, + "LegalStructure": { + "type": "string", + "description": "Legal standing of the party.", + "x-namespaced-enum": [ + "UK.OBIE.CIC", + "UK.OBIE.CIO", + "UK.OBIE.Charity", + "UK.OBIE.CoOp", + "UK.OBIE.GeneralPartnership", + "UK.OBIE.Individual", + "UK.OBIE.LimitedLiabilityPartnership", + "UK.OBIE.LimitedPartnership", + "UK.OBIE.PrivateLimitedCompany", + "UK.OBIE.PublicLimitedCompany", + "UK.OBIE.ScottishLimitedPartnership", + "UK.OBIE.Sole" + ] + }, + "BeneficialOwnership": { + "type": "boolean" + }, + "AccountRole": { + "type": "string", + "description": "A party’s role with respect to the related account.", + "x-namespaced-enum": [ + "UK.OBIE.Administrator", + "UK.OBIE.Beneficiary", + "UK.OBIE.CustodianForMinor", + "UK.OBIE.Granter", + "UK.OBIE.LegalGuardian", + "UK.OBIE.OtherParty", + "UK.OBIE.PowerOfAttorney", + "UK.OBIE.Principal", + "UK.OBIE.Protector", + "UK.OBIE.RegisteredShareholderName", + "UK.OBIE.SecondaryOwner", + "UK.OBIE.SeniorManagingOfficial", + "UK.OBIE.Settlor", + "UK.OBIE.SuccessorOnDeath" + ] + }, + "EmailAddress": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Address for electronic mail (e-mail)." + }, + "Phone": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a phone number, as defined by telecom services." + }, + "Mobile": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a mobile phone number, as defined by telecom services." + }, + "Relationships": { + "type": "object", + "properties": { + "Account": { + "required": [ + "Id", + "Related" + ], + "type": "object", + "properties": { + "Related": { + "type": "string", + "description": "Absolute URI to the related resource.", + "format": "uri" + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource." + } + }, + "description": "Relationship to the Account resource." + } + }, + "description": "The Party's relationships with other resources." + }, + "Address": { + "type": "array", + "items": { + "required": [ + "Country" + ], + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "AddressLine": { + "maxItems": 5, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country eg, state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Postal address of a party." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Party": { + "required": [ + "PartyId" + ], + "type": "object", + "properties": { + "PartyId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner." + }, + "PartyNumber": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number assigned by an agent to identify its customer." + }, + "PartyType": { + "type": "string", + "description": "Party type, in a coded form.", + "enum": [ + "Delegate", + "Joint", + "Sole" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "FullLegalName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 350 characters." + }, + "LegalStructure": { + "type": "string", + "description": "Legal standing of the party.", + "x-namespaced-enum": [ + "UK.OBIE.CIC", + "UK.OBIE.CIO", + "UK.OBIE.Charity", + "UK.OBIE.CoOp", + "UK.OBIE.GeneralPartnership", + "UK.OBIE.Individual", + "UK.OBIE.LimitedLiabilityPartnership", + "UK.OBIE.LimitedPartnership", + "UK.OBIE.PrivateLimitedCompany", + "UK.OBIE.PublicLimitedCompany", + "UK.OBIE.ScottishLimitedPartnership", + "UK.OBIE.Sole" + ] + }, + "BeneficialOwnership": { + "type": "boolean" + }, + "AccountRole": { + "type": "string", + "description": "A party’s role with respect to the related account.", + "x-namespaced-enum": [ + "UK.OBIE.Administrator", + "UK.OBIE.Beneficiary", + "UK.OBIE.CustodianForMinor", + "UK.OBIE.Granter", + "UK.OBIE.LegalGuardian", + "UK.OBIE.OtherParty", + "UK.OBIE.PowerOfAttorney", + "UK.OBIE.Principal", + "UK.OBIE.Protector", + "UK.OBIE.RegisteredShareholderName", + "UK.OBIE.SecondaryOwner", + "UK.OBIE.SeniorManagingOfficial", + "UK.OBIE.Settlor", + "UK.OBIE.SuccessorOnDeath" + ] + }, + "EmailAddress": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Address for electronic mail (e-mail)." + }, + "Phone": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a phone number, as defined by telecom services." + }, + "Mobile": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a mobile phone number, as defined by telecom services." + }, + "Relationships": { + "type": "object", + "properties": { + "Account": { + "required": [ + "Id", + "Related" + ], + "type": "object", + "properties": { + "Related": { + "type": "string", + "description": "Absolute URI to the related resource.", + "format": "uri" + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource." + } + }, + "description": "Relationship to the Account resource." + } + }, + "description": "The Party's relationships with other resources." + }, + "Address": { + "type": "array", + "items": { + "required": [ + "Country" + ], + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "AddressLine": { + "maxItems": 5, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country eg, state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Postal address of a party." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/product": { + "get": { + "tags": [ + "Products" + ], + "summary": "Get Products", + "operationId": "GetAccountsAccountIdProduct", + "parameters": [ + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Products Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Product": { + "type": "array", + "items": { + "required": [ + "AccountId", + "ProductType" + ], + "type": "object", + "properties": { + "ProductName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The name of the Product used for marketing purposes from a customer perspective. I.e. what the customer would recognise." + }, + "ProductId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "The unique ID that has been internally assigned by the financial institution to each of the current account banking products they market to their retail and/or small to medium enterprise (SME) customers." + }, + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "SecondaryProductId": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Any secondary Identification which supports Product Identifier to uniquely identify the current account banking products." + }, + "ProductType": { + "type": "string", + "description": "Product type : Personal Current Account, Business Current Account", + "enum": [ + "BusinessCurrentAccount", + "CommercialCreditCard", + "Other", + "PersonalCurrentAccount", + "SMELoan" + ] + }, + "MarketingStateId": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Product Marketing State." + }, + "OtherProductType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Long name associated with the product" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description of the Product associated with the account" + }, + "ProductDetails": { + "type": "object", + "properties": { + "Segment": { + "type": "array", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd ", + "enum": [ + "GEAS", + "GEBA", + "GEBR", + "GEBU", + "GECI", + "GECS", + "GEFB", + "GEFG", + "GEG", + "GEGR", + "GEGS", + "GEOT", + "GEOV", + "GEPA", + "GEPR", + "GERE", + "GEST", + "GEYA", + "GEYO", + "PSCA", + "PSES", + "PSNC", + "PSNP", + "PSRG", + "PSSS", + "PSST", + "PSSW" + ] + } + }, + "FeeFreeLength": { + "type": "integer", + "description": "The length/duration of the fee free period" + }, + "FeeFreeLengthPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "MonthlyMaximumCharge": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Core product details" + } + }, + "OtherSegment": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + } + } + }, + "CreditInterest": { + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "Destination", + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the product holder's account balance", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "CalculationMethod": { + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "ITCO", + "ITOT", + "ITSI" + ] + }, + "Destination": { + "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", + "enum": [ + "INOT", + "INPA", + "INSC" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" + } + }, + "OtherCalculationMethod": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherDestination": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "TierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for the Product." + }, + "TierValueMinimum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "FQAT", + "FQDY", + "FQHY", + "FQMY", + "FQOT", + "FQQY", + "FQSD", + "FQWY", + "FQYY" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How often is interest applied to the Product for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's account.", + "enum": [ + "FQAT", + "FQDY", + "FQHY", + "FQMY", + "FQOT", + "FQQY", + "FQSD", + "FQWY", + "FQYY" + ] + }, + "DepositInterestAppliedCoverage": { + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "FixedVariableInterestRateType": { + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "INFI", + "INVA" + ] + }, + "AER": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the account holder's account.", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "BankInterestRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the product" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" + } + }, + "OtherBankInterestType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the Account holders" + }, + "Overdraft": { + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Associated Notes about the overdraft rates" + } + }, + "OverdraftTierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "OverdraftType": { + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "OVCO", + "OVOD", + "OVOT" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details" + } + }, + "OverdraftTierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "EAR": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "AgreementLengthMin": { + "type": "integer", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement" + }, + "AgreementLengthMax": { + "type": "integer", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement" + }, + "AgreementPeriod": { + "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "OverdraftInterestChargingCoverage": { + "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is �2k and the interest tiers are:- 0-�500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the �Whole� of the account balance, and in the 2nd that it is �Tiered�.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "BankGuaranteedIndicator": { + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier/band details" + } + }, + "OverdraftFeesCharges": { + "type": "array", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" + } + }, + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges" + } + } + }, + "description": "Provides overdraft details for a specific tier or band" + } + }, + "OverdraftFeesCharges": { + "type": "array", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" + } + }, + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Borrowing details" + }, + "LoanInterest": { + "required": [ + "LoanInterestTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the LoanInterest" + } + }, + "LoanInterestTierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "CalculationMethod", + "LoanInterestTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the SME Loan balance", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Loan interest tierbandset identification. Used by loan providers for internal use purpose." + }, + "CalculationMethod": { + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "ITCO", + "ITOT", + "ITSI" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" + } + }, + "OtherCalculationMethod": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "LoanInterestTierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "FixedVariableInterestRateType", + "MinTermPeriod", + "RepAPR", + "TierValueMinTerm", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a SME Loan." + }, + "TierValueMinimum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum loan value for which the loan interest tier applies." + }, + "TierValueMaximum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum loan value for which the loan interest tier applies." + }, + "TierValueMinTerm": { + "type": "integer", + "description": "Minimum loan term for which the loan interest tier applies." + }, + "MinTermPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Minimum Term", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "TierValueMaxTerm": { + "type": "integer", + "description": "Maximum loan term for which the loan interest tier applies." + }, + "MaxTermPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Maximum Term", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "FixedVariableInterestRateType": { + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "INFI", + "INVA" + ] + }, + "RepAPR": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nFor SME Loan, this APR is the representative APR which includes any account fees." + }, + "LoanProviderInterestRateType": { + "type": "string", + "description": "Interest rate types, other than APR, which financial institutions may use to describe the annual interest rate payable for the SME Loan.", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "LoanProviderInterestRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Loan provider Interest for the SME Loan product" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" + } + }, + "OtherLoanProviderInterestRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other loan interest rate types which are not available in the standard code list" + }, + "LoanInterestFeesCharges": { + "type": "array", + "items": { + "required": [ + "LoanInterestFeeChargeDetail" + ], + "type": "object", + "properties": { + "LoanInterestFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "CalculationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not in the standard rate type list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + } + }, + "description": "Other fees/charges details" + } + }, + "LoanInterestFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" + } + } + }, + "description": "Tier Band Details" + } + }, + "LoanInterestFeesCharges": { + "type": "array", + "items": { + "required": [ + "LoanInterestFeeChargeDetail" + ], + "type": "object", + "properties": { + "LoanInterestFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "CalculationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not in the standard rate type list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + } + }, + "description": "Other fees/charges details" + } + }, + "LoanInterestFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" + } + } + }, + "description": "The group of tiers or bands for which debit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the SME Loan holders" + }, + "Repayment": { + "type": "object", + "properties": { + "RepaymentType": { + "type": "string", + "description": "Repayment type", + "enum": [ + "USBA", + "USBU", + "USCI", + "USCS", + "USER", + "USFA", + "USFB", + "USFI", + "USIO", + "USOT", + "USPF", + "USRW", + "USSL" + ] + }, + "RepaymentFrequency": { + "type": "string", + "description": "Repayment frequency", + "enum": [ + "SMDA", + "SMFL", + "SMFO", + "SMHY", + "SMMO", + "SMOT", + "SMQU", + "SMWE", + "SMYE" + ] + }, + "AmountType": { + "type": "string", + "description": "The repayment is for paying just the interest only or both interest and capital or bullet amount or balance to date etc", + "enum": [ + "RABD", + "RABL", + "RACI", + "RAFC", + "RAIO", + "RALT", + "USOT" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Repayment" + } + }, + "OtherRepaymentType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other repayment type which is not in the standard code list" + }, + "OtherRepaymentFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other repayment frequency which is not in the standard code list" + }, + "OtherAmountType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other amount type which is not in the standard code list" + }, + "RepaymentFeeCharges": { + "required": [ + "RepaymentFeeChargeDetail" + ], + "type": "object", + "properties": { + "RepaymentFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "CalculationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + } + }, + "description": "Details about specific fees/charges that are applied for repayment" + } + }, + "RepaymentFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "RepaymentFeeChargeCap sets daily, weekly, monthly, yearly limits on the fees that are charged" + } + } + }, + "description": "Applicable fee/charges for repayment such as prepayment, full early repayment or non repayment." + }, + "RepaymentHoliday": { + "type": "array", + "items": { + "type": "object", + "properties": { + "MaxHolidayLength": { + "type": "integer", + "description": "The maximum length/duration of a Repayment Holiday" + }, + "MaxHolidayPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the repayment holiday", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding details for repayment holiday" + } + } + }, + "description": "Details of capital repayment holiday if any" + } + } + }, + "description": "Repayment details of the Loan product" + }, + "OtherFeesCharges": { + "type": "array", + "items": { + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "TariffType": { + "type": "string", + "description": "TariffType which defines the fee and charges.", + "enum": [ + "TTEL", + "TTMX", + "TTOT" + ] + }, + "TariffName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the tariff" + }, + "OtherTariffType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other tariff type which is not in the standard list." + }, + "FeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "FeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + }, + "OtherFeeCategoryType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeApplicableRange": { + "type": "object", + "properties": { + "MinimumAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" + } + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "Other product type details associated with the account." + }, + "BCA": { + "title": "BCA", + "type": "object", + "properties": { + "ProductDetails": { + "title": "ProductDetails", + "type": "object", + "properties": { + "Segment": { + "title": "Segment", + "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", + "enum": [ + "ClientAccount", + "Standard", + "NonCommercialChaitiesClbSoc", + "NonCommercialPublicAuthGovt", + "Religious", + "SectorSpecific", + "Startup", + "Switcher" + ] + } + }, + "FeeFreeLength": { + "title": "FeeFreeLength", + "type": "number", + "description": "The length/duration of the fee free period", + "format": "float" + }, + "FeeFreeLengthPeriod": { + "title": "FeeFreeLengthPeriod", + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Core product details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + } + } + }, + "CreditInterest": { + "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", + "items": { + "required": [ + "Destination", + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the BCA balance", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "CalculationMethod": { + "title": "CalculationMethod", + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "Compound", + "SimpleInterest" + ] + }, + "Destination": { + "title": "Destination", + "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", + "enum": [ + "PayAway", + "SelfCredit" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "TierBand": { + "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a BCA." + }, + "TierValueMinimum": { + "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How often is interest applied to the BCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's BCA.", + "enum": [ + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "DepositInterestAppliedCoverage": { + "title": "DepositInterestAppliedCoverage", + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "FixedVariableInterestRateType": { + "title": "FixedVariableInterestRateType", + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "Fixed", + "Variable" + ] + }, + "AER": { + "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "title": "BankInterestRateType", + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the BCA.", + "enum": [ + "Gross", + "Other" + ] + }, + "BankInterestRate": { + "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the BCA product" + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherBankInterestType": { + "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the BCA account holders" + }, + "Overdraft": { + "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "title": "Notes", + "type": "array", + "description": "Associated Notes about the overdraft rates", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBandSet": { + "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "OverdraftType": { + "title": "OverdraftType", + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "Committed", + "OnDemand" + ] + }, + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "title": "AuthorisedIndicator", + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBand": { + "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "EAR": { + "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "RepresentativeAPR": { + "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." + }, + "AgreementLengthMin": { + "title": "AgreementLengthMin", + "type": "number", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement", + "format": "float" + }, + "AgreementLengthMax": { + "title": "AgreementLengthMax", + "type": "number", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement", + "format": "float" + }, + "AgreementPeriod": { + "title": "AgreementPeriod", + "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "OverdraftInterestChargingCoverage": { + "title": "OverdraftInterestChargingCoverage", + "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is £2k and the interest tiers are:- 0-£500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the ‘Whole’ of the account balance, and in the 2nd that it is ‘Tiered’.", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "BankGuaranteedIndicator": { + "title": "BankGuaranteedIndicator", + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "NegotiableIndicator": { + "title": "NegotiableIndicator", + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "Gross", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges" + } + } + }, + "description": "Provides overdraft details for a specific tier or band" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "NegotiableIndicator": { + "title": "NegotiableIndicator", + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "Gross", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Borrowing details" + }, + "OtherFeesCharges": { + "title": "OtherFeesCharges", + "type": "array", + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", + "items": { + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "TariffType": { + "title": "TariffType", + "type": "string", + "description": "TariffType which defines the fee and charges.", + "enum": [ + "Electronic", + "Mixed", + "Other" + ] + }, + "TariffName": { + "title": "TariffName", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the tariff" + }, + "OtherTariffType": { + "title": "OtherTariffType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other tariff type which is not in the standard list." + }, + "FeeChargeDetail": { + "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "Other", + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCAccountFeeQuarterly", + "ServiceCFixedTariff", + "ServiceCBusiDepAccBreakage", + "ServiceCMinimumMonthlyFee", + "ServiceCOther" + ] + }, + "NegotiableIndicator": { + "title": "NegotiableIndicator", + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "Gross", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "Other", + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCAccountFeeQuarterly", + "ServiceCFixedTariff", + "ServiceCBusiDepAccBreakage", + "ServiceCMinimumMonthlyFee", + "ServiceCOther" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + }, + "OtherFeeCategoryType": { + "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeApplicableRange": { + "title": "FeeApplicableRange", + "type": "object", + "properties": { + "MinimumAmount": { + "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "Other", + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCAccountFeeQuarterly", + "ServiceCFixedTariff", + "ServiceCBusiDepAccBreakage", + "ServiceCMinimumMonthlyFee", + "ServiceCOther" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" + } + } + } + }, + "PCA": { + "title": "PCA", + "type": "object", + "properties": { + "ProductDetails": { + "title": "ProductDetails", + "type": "object", + "properties": { + "Segment": { + "title": "Segment", + "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", + "enum": [ + "Basic", + "BenefitAndReward", + "CreditInterest", + "Cashback", + "General", + "Graduate", + "Other", + "Overdraft", + "Packaged", + "Premium", + "Reward", + "Student", + "YoungAdult", + "Youth" + ] + } + }, + "MonthlyMaximumCharge": { + "title": "MonthlyMaximumCharge", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Core product details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + } + } + }, + "CreditInterest": { + "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", + "items": { + "required": [ + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the PCA balance", + "enum": [ + "Tiered", + "Whole" + ] + }, + "CalculationMethod": { + "title": "CalculationMethod", + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "Compound", + "SimpleInterest" + ] + }, + "Destination": { + "title": "Destination", + "type": "string", + "description": "Describes whether accrued interest is payable only to the PCA or to another bank account", + "enum": [ + "PayAway", + "SelfCredit" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "TierBand": { + "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a PCA." + }, + "TierValueMinimum": { + "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "PerAcademicTerm", + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How often is interest applied to the PCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's PCA.", + "enum": [ + "PerAcademicTerm", + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "DepositInterestAppliedCoverage": { + "title": "DepositInterestAppliedCoverage", + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "Tiered", + "Whole" + ] + }, + "FixedVariableInterestRateType": { + "title": "FixedVariableInterestRateType", + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "Fixed", + "Variable" + ] + }, + "AER": { + "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "title": "BankInterestRateType", + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the PCA.", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "BankInterestRate": { + "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the PCA product" + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherBankInterestType": { + "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the PCA account holders" + }, + "Overdraft": { + "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "title": "Notes", + "type": "array", + "description": "Associated Notes about the overdraft rates", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBandSet": { + "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "Tiered", + "Whole", + "Banded" + ] + }, + "OverdraftType": { + "title": "OverdraftType", + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "Committed", + "OnDemand", + "Other" + ] + }, + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "title": "AuthorisedIndicator", + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBand": { + "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "OverdraftInterestChargingCoverage": { + "title": "OverdraftInterestChargingCoverage", + "type": "string", + "description": "Interest charged on whole amount or tiered/banded", + "enum": [ + "Tiered", + "Whole" + ] + }, + "BankGuaranteedIndicator": { + "title": "BankGuaranteedIndicator", + "type": "boolean", + "description": "Indicates that a bank provides the overdraft limit up to TierValueMIn to all customers automatically" + }, + "EAR": { + "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "RepresentativeAPR": { + "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges" + } + } + }, + "description": "Provides overdraft details for a specific tier or band" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Details about Overdraft rates, fees & charges" + }, + "OtherFeesCharges": { + "title": "OtherFeesCharges", + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "FeeChargeDetail": { + "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeCategoryType": { + "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "FeeApplicableRange": { + "title": "FeeApplicableRange", + "type": "object", + "properties": { + "MinimumAmount": { + "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either borrowing or features/benefits" + } + } + } + }, + "description": "Product details associated with the Account" + } + } + }, + "description": "Aligning with the read write specs structure." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + }, + "description": "Product details of Other Product which is not avaiable in the standard list" + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Product": { + "type": "array", + "items": { + "required": [ + "AccountId", + "ProductType" + ], + "type": "object", + "properties": { + "ProductName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The name of the Product used for marketing purposes from a customer perspective. I.e. what the customer would recognise." + }, + "ProductId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "The unique ID that has been internally assigned by the financial institution to each of the current account banking products they market to their retail and/or small to medium enterprise (SME) customers." + }, + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "SecondaryProductId": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Any secondary Identification which supports Product Identifier to uniquely identify the current account banking products." + }, + "ProductType": { + "type": "string", + "description": "Product type : Personal Current Account, Business Current Account", + "enum": [ + "BusinessCurrentAccount", + "CommercialCreditCard", + "Other", + "PersonalCurrentAccount", + "SMELoan" + ] + }, + "MarketingStateId": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Product Marketing State." + }, + "OtherProductType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Long name associated with the product" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description of the Product associated with the account" + }, + "ProductDetails": { + "type": "object", + "properties": { + "Segment": { + "type": "array", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd ", + "enum": [ + "GEAS", + "GEBA", + "GEBR", + "GEBU", + "GECI", + "GECS", + "GEFB", + "GEFG", + "GEG", + "GEGR", + "GEGS", + "GEOT", + "GEOV", + "GEPA", + "GEPR", + "GERE", + "GEST", + "GEYA", + "GEYO", + "PSCA", + "PSES", + "PSNC", + "PSNP", + "PSRG", + "PSSS", + "PSST", + "PSSW" + ] + } + }, + "FeeFreeLength": { + "type": "integer", + "description": "The length/duration of the fee free period" + }, + "FeeFreeLengthPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "MonthlyMaximumCharge": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Core product details" + } + }, + "OtherSegment": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + } + } + }, + "CreditInterest": { + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "Destination", + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the product holder's account balance", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "CalculationMethod": { + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "ITCO", + "ITOT", + "ITSI" + ] + }, + "Destination": { + "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", + "enum": [ + "INOT", + "INPA", + "INSC" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" + } + }, + "OtherCalculationMethod": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherDestination": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "TierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for the Product." + }, + "TierValueMinimum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "FQAT", + "FQDY", + "FQHY", + "FQMY", + "FQOT", + "FQQY", + "FQSD", + "FQWY", + "FQYY" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How often is interest applied to the Product for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's account.", + "enum": [ + "FQAT", + "FQDY", + "FQHY", + "FQMY", + "FQOT", + "FQQY", + "FQSD", + "FQWY", + "FQYY" + ] + }, + "DepositInterestAppliedCoverage": { + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "FixedVariableInterestRateType": { + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "INFI", + "INVA" + ] + }, + "AER": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the account holder's account.", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "BankInterestRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the product" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" + } + }, + "OtherBankInterestType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the Account holders" + }, + "Overdraft": { + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Associated Notes about the overdraft rates" + } + }, + "OverdraftTierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "OverdraftType": { + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "OVCO", + "OVOD", + "OVOT" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details" + } + }, + "OverdraftTierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "EAR": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "AgreementLengthMin": { + "type": "integer", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement" + }, + "AgreementLengthMax": { + "type": "integer", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement" + }, + "AgreementPeriod": { + "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "OverdraftInterestChargingCoverage": { + "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is �2k and the interest tiers are:- 0-�500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the �Whole� of the account balance, and in the 2nd that it is �Tiered�.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "BankGuaranteedIndicator": { + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier/band details" + } + }, + "OverdraftFeesCharges": { + "type": "array", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" + } + }, + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges" + } + } + }, + "description": "Provides overdraft details for a specific tier or band" + } + }, + "OverdraftFeesCharges": { + "type": "array", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" + } + }, + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Borrowing details" + }, + "LoanInterest": { + "required": [ + "LoanInterestTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the LoanInterest" + } + }, + "LoanInterestTierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "CalculationMethod", + "LoanInterestTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the SME Loan balance", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Loan interest tierbandset identification. Used by loan providers for internal use purpose." + }, + "CalculationMethod": { + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "ITCO", + "ITOT", + "ITSI" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" + } + }, + "OtherCalculationMethod": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "LoanInterestTierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "FixedVariableInterestRateType", + "MinTermPeriod", + "RepAPR", + "TierValueMinTerm", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a SME Loan." + }, + "TierValueMinimum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum loan value for which the loan interest tier applies." + }, + "TierValueMaximum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum loan value for which the loan interest tier applies." + }, + "TierValueMinTerm": { + "type": "integer", + "description": "Minimum loan term for which the loan interest tier applies." + }, + "MinTermPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Minimum Term", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "TierValueMaxTerm": { + "type": "integer", + "description": "Maximum loan term for which the loan interest tier applies." + }, + "MaxTermPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Maximum Term", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "FixedVariableInterestRateType": { + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "INFI", + "INVA" + ] + }, + "RepAPR": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nFor SME Loan, this APR is the representative APR which includes any account fees." + }, + "LoanProviderInterestRateType": { + "type": "string", + "description": "Interest rate types, other than APR, which financial institutions may use to describe the annual interest rate payable for the SME Loan.", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "LoanProviderInterestRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Loan provider Interest for the SME Loan product" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" + } + }, + "OtherLoanProviderInterestRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other loan interest rate types which are not available in the standard code list" + }, + "LoanInterestFeesCharges": { + "type": "array", + "items": { + "required": [ + "LoanInterestFeeChargeDetail" + ], + "type": "object", + "properties": { + "LoanInterestFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "CalculationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not in the standard rate type list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + } + }, + "description": "Other fees/charges details" + } + }, + "LoanInterestFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" + } + } + }, + "description": "Tier Band Details" + } + }, + "LoanInterestFeesCharges": { + "type": "array", + "items": { + "required": [ + "LoanInterestFeeChargeDetail" + ], + "type": "object", + "properties": { + "LoanInterestFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "CalculationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not in the standard rate type list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + } + }, + "description": "Other fees/charges details" + } + }, + "LoanInterestFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" + } + } + }, + "description": "The group of tiers or bands for which debit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the SME Loan holders" + }, + "Repayment": { + "type": "object", + "properties": { + "RepaymentType": { + "type": "string", + "description": "Repayment type", + "enum": [ + "USBA", + "USBU", + "USCI", + "USCS", + "USER", + "USFA", + "USFB", + "USFI", + "USIO", + "USOT", + "USPF", + "USRW", + "USSL" + ] + }, + "RepaymentFrequency": { + "type": "string", + "description": "Repayment frequency", + "enum": [ + "SMDA", + "SMFL", + "SMFO", + "SMHY", + "SMMO", + "SMOT", + "SMQU", + "SMWE", + "SMYE" + ] + }, + "AmountType": { + "type": "string", + "description": "The repayment is for paying just the interest only or both interest and capital or bullet amount or balance to date etc", + "enum": [ + "RABD", + "RABL", + "RACI", + "RAFC", + "RAIO", + "RALT", + "USOT" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Repayment" + } + }, + "OtherRepaymentType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other repayment type which is not in the standard code list" + }, + "OtherRepaymentFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other repayment frequency which is not in the standard code list" + }, + "OtherAmountType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other amount type which is not in the standard code list" + }, + "RepaymentFeeCharges": { + "required": [ + "RepaymentFeeChargeDetail" + ], + "type": "object", + "properties": { + "RepaymentFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "CalculationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + } + }, + "description": "Details about specific fees/charges that are applied for repayment" + } + }, + "RepaymentFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "RepaymentFeeChargeCap sets daily, weekly, monthly, yearly limits on the fees that are charged" + } + } + }, + "description": "Applicable fee/charges for repayment such as prepayment, full early repayment or non repayment." + }, + "RepaymentHoliday": { + "type": "array", + "items": { + "type": "object", + "properties": { + "MaxHolidayLength": { + "type": "integer", + "description": "The maximum length/duration of a Repayment Holiday" + }, + "MaxHolidayPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the repayment holiday", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding details for repayment holiday" + } + } + }, + "description": "Details of capital repayment holiday if any" + } + } + }, + "description": "Repayment details of the Loan product" + }, + "OtherFeesCharges": { + "type": "array", + "items": { + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "TariffType": { + "type": "string", + "description": "TariffType which defines the fee and charges.", + "enum": [ + "TTEL", + "TTMX", + "TTOT" + ] + }, + "TariffName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the tariff" + }, + "OtherTariffType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other tariff type which is not in the standard list." + }, + "FeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "FeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + }, + "OtherFeeCategoryType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeApplicableRange": { + "type": "object", + "properties": { + "MinimumAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" + } + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "Other product type details associated with the account." + }, + "BCA": { + "title": "BCA", + "type": "object", + "properties": { + "ProductDetails": { + "title": "ProductDetails", + "type": "object", + "properties": { + "Segment": { + "title": "Segment", + "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", + "enum": [ + "ClientAccount", + "Standard", + "NonCommercialChaitiesClbSoc", + "NonCommercialPublicAuthGovt", + "Religious", + "SectorSpecific", + "Startup", + "Switcher" + ] + } + }, + "FeeFreeLength": { + "title": "FeeFreeLength", + "type": "number", + "description": "The length/duration of the fee free period", + "format": "float" + }, + "FeeFreeLengthPeriod": { + "title": "FeeFreeLengthPeriod", + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Core product details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + } + } + }, + "CreditInterest": { + "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", + "items": { + "required": [ + "Destination", + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the BCA balance", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "CalculationMethod": { + "title": "CalculationMethod", + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "Compound", + "SimpleInterest" + ] + }, + "Destination": { + "title": "Destination", + "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", + "enum": [ + "PayAway", + "SelfCredit" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "TierBand": { + "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a BCA." + }, + "TierValueMinimum": { + "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How often is interest applied to the BCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's BCA.", + "enum": [ + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "DepositInterestAppliedCoverage": { + "title": "DepositInterestAppliedCoverage", + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "FixedVariableInterestRateType": { + "title": "FixedVariableInterestRateType", + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "Fixed", + "Variable" + ] + }, + "AER": { + "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "title": "BankInterestRateType", + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the BCA.", + "enum": [ + "Gross", + "Other" + ] + }, + "BankInterestRate": { + "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the BCA product" + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherBankInterestType": { + "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the BCA account holders" + }, + "Overdraft": { + "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "title": "Notes", + "type": "array", + "description": "Associated Notes about the overdraft rates", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBandSet": { + "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "OverdraftType": { + "title": "OverdraftType", + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "Committed", + "OnDemand" + ] + }, + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "title": "AuthorisedIndicator", + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBand": { + "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "EAR": { + "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "RepresentativeAPR": { + "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." + }, + "AgreementLengthMin": { + "title": "AgreementLengthMin", + "type": "number", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement", + "format": "float" + }, + "AgreementLengthMax": { + "title": "AgreementLengthMax", + "type": "number", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement", + "format": "float" + }, + "AgreementPeriod": { + "title": "AgreementPeriod", + "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "OverdraftInterestChargingCoverage": { + "title": "OverdraftInterestChargingCoverage", + "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is £2k and the interest tiers are:- 0-£500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the ‘Whole’ of the account balance, and in the 2nd that it is ‘Tiered’.", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "BankGuaranteedIndicator": { + "title": "BankGuaranteedIndicator", + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "NegotiableIndicator": { + "title": "NegotiableIndicator", + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "Gross", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges" + } + } + }, + "description": "Provides overdraft details for a specific tier or band" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "NegotiableIndicator": { + "title": "NegotiableIndicator", + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "Gross", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Borrowing details" + }, + "OtherFeesCharges": { + "title": "OtherFeesCharges", + "type": "array", + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", + "items": { + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "TariffType": { + "title": "TariffType", + "type": "string", + "description": "TariffType which defines the fee and charges.", + "enum": [ + "Electronic", + "Mixed", + "Other" + ] + }, + "TariffName": { + "title": "TariffName", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the tariff" + }, + "OtherTariffType": { + "title": "OtherTariffType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other tariff type which is not in the standard list." + }, + "FeeChargeDetail": { + "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "Other", + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCAccountFeeQuarterly", + "ServiceCFixedTariff", + "ServiceCBusiDepAccBreakage", + "ServiceCMinimumMonthlyFee", + "ServiceCOther" + ] + }, + "NegotiableIndicator": { + "title": "NegotiableIndicator", + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "Gross", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "Other", + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCAccountFeeQuarterly", + "ServiceCFixedTariff", + "ServiceCBusiDepAccBreakage", + "ServiceCMinimumMonthlyFee", + "ServiceCOther" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + }, + "OtherFeeCategoryType": { + "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeApplicableRange": { + "title": "FeeApplicableRange", + "type": "object", + "properties": { + "MinimumAmount": { + "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "Other", + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCAccountFeeQuarterly", + "ServiceCFixedTariff", + "ServiceCBusiDepAccBreakage", + "ServiceCMinimumMonthlyFee", + "ServiceCOther" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" + } + } + } + }, + "PCA": { + "title": "PCA", + "type": "object", + "properties": { + "ProductDetails": { + "title": "ProductDetails", + "type": "object", + "properties": { + "Segment": { + "title": "Segment", + "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", + "enum": [ + "Basic", + "BenefitAndReward", + "CreditInterest", + "Cashback", + "General", + "Graduate", + "Other", + "Overdraft", + "Packaged", + "Premium", + "Reward", + "Student", + "YoungAdult", + "Youth" + ] + } + }, + "MonthlyMaximumCharge": { + "title": "MonthlyMaximumCharge", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Core product details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + } + } + }, + "CreditInterest": { + "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", + "items": { + "required": [ + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the PCA balance", + "enum": [ + "Tiered", + "Whole" + ] + }, + "CalculationMethod": { + "title": "CalculationMethod", + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "Compound", + "SimpleInterest" + ] + }, + "Destination": { + "title": "Destination", + "type": "string", + "description": "Describes whether accrued interest is payable only to the PCA or to another bank account", + "enum": [ + "PayAway", + "SelfCredit" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "TierBand": { + "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a PCA." + }, + "TierValueMinimum": { + "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "PerAcademicTerm", + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How often is interest applied to the PCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's PCA.", + "enum": [ + "PerAcademicTerm", + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "DepositInterestAppliedCoverage": { + "title": "DepositInterestAppliedCoverage", + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "Tiered", + "Whole" + ] + }, + "FixedVariableInterestRateType": { + "title": "FixedVariableInterestRateType", + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "Fixed", + "Variable" + ] + }, + "AER": { + "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "title": "BankInterestRateType", + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the PCA.", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "BankInterestRate": { + "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the PCA product" + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherBankInterestType": { + "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the PCA account holders" + }, + "Overdraft": { + "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "title": "Notes", + "type": "array", + "description": "Associated Notes about the overdraft rates", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBandSet": { + "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "Tiered", + "Whole", + "Banded" + ] + }, + "OverdraftType": { + "title": "OverdraftType", + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "Committed", + "OnDemand", + "Other" + ] + }, + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "title": "AuthorisedIndicator", + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBand": { + "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "OverdraftInterestChargingCoverage": { + "title": "OverdraftInterestChargingCoverage", + "type": "string", + "description": "Interest charged on whole amount or tiered/banded", + "enum": [ + "Tiered", + "Whole" + ] + }, + "BankGuaranteedIndicator": { + "title": "BankGuaranteedIndicator", + "type": "boolean", + "description": "Indicates that a bank provides the overdraft limit up to TierValueMIn to all customers automatically" + }, + "EAR": { + "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "RepresentativeAPR": { + "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges" + } + } + }, + "description": "Provides overdraft details for a specific tier or band" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Details about Overdraft rates, fees & charges" + }, + "OtherFeesCharges": { + "title": "OtherFeesCharges", + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "FeeChargeDetail": { + "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeCategoryType": { + "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "FeeApplicableRange": { + "title": "FeeApplicableRange", + "type": "object", + "properties": { + "MinimumAmount": { + "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either borrowing or features/benefits" + } + } + } + }, + "description": "Product details associated with the Account" + } + } + }, + "description": "Aligning with the read write specs structure." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + }, + "description": "Product details of Other Product which is not avaiable in the standard list" + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Product": { + "type": "array", + "items": { + "required": [ + "AccountId", + "ProductType" + ], + "type": "object", + "properties": { + "ProductName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The name of the Product used for marketing purposes from a customer perspective. I.e. what the customer would recognise." + }, + "ProductId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "The unique ID that has been internally assigned by the financial institution to each of the current account banking products they market to their retail and/or small to medium enterprise (SME) customers." + }, + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "SecondaryProductId": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Any secondary Identification which supports Product Identifier to uniquely identify the current account banking products." + }, + "ProductType": { + "type": "string", + "description": "Product type : Personal Current Account, Business Current Account", + "enum": [ + "BusinessCurrentAccount", + "CommercialCreditCard", + "Other", + "PersonalCurrentAccount", + "SMELoan" + ] + }, + "MarketingStateId": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Product Marketing State." + }, + "OtherProductType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Long name associated with the product" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description of the Product associated with the account" + }, + "ProductDetails": { + "type": "object", + "properties": { + "Segment": { + "type": "array", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd ", + "enum": [ + "GEAS", + "GEBA", + "GEBR", + "GEBU", + "GECI", + "GECS", + "GEFB", + "GEFG", + "GEG", + "GEGR", + "GEGS", + "GEOT", + "GEOV", + "GEPA", + "GEPR", + "GERE", + "GEST", + "GEYA", + "GEYO", + "PSCA", + "PSES", + "PSNC", + "PSNP", + "PSRG", + "PSSS", + "PSST", + "PSSW" + ] + } + }, + "FeeFreeLength": { + "type": "integer", + "description": "The length/duration of the fee free period" + }, + "FeeFreeLengthPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "MonthlyMaximumCharge": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Core product details" + } + }, + "OtherSegment": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + } + } + }, + "CreditInterest": { + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "Destination", + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the product holder's account balance", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "CalculationMethod": { + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "ITCO", + "ITOT", + "ITSI" + ] + }, + "Destination": { + "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", + "enum": [ + "INOT", + "INPA", + "INSC" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" + } + }, + "OtherCalculationMethod": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherDestination": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "TierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for the Product." + }, + "TierValueMinimum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "FQAT", + "FQDY", + "FQHY", + "FQMY", + "FQOT", + "FQQY", + "FQSD", + "FQWY", + "FQYY" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How often is interest applied to the Product for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's account.", + "enum": [ + "FQAT", + "FQDY", + "FQHY", + "FQMY", + "FQOT", + "FQQY", + "FQSD", + "FQWY", + "FQYY" + ] + }, + "DepositInterestAppliedCoverage": { + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "FixedVariableInterestRateType": { + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "INFI", + "INVA" + ] + }, + "AER": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the account holder's account.", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "BankInterestRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the product" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" + } + }, + "OtherBankInterestType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the Account holders" + }, + "Overdraft": { + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Associated Notes about the overdraft rates" + } + }, + "OverdraftTierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "OverdraftType": { + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "OVCO", + "OVOD", + "OVOT" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details" + } + }, + "OverdraftTierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "EAR": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "AgreementLengthMin": { + "type": "integer", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement" + }, + "AgreementLengthMax": { + "type": "integer", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement" + }, + "AgreementPeriod": { + "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "OverdraftInterestChargingCoverage": { + "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is �2k and the interest tiers are:- 0-�500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the �Whole� of the account balance, and in the 2nd that it is �Tiered�.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "BankGuaranteedIndicator": { + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier/band details" + } + }, + "OverdraftFeesCharges": { + "type": "array", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Notes related to Overdraft fee charge cap", "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Notes related to Overdraft fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OverdraftFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Details about the fees/charges", "required": [ - "FeeType", - "ApplicationFrequency" + "ApplicationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "FBAO", "FBAR", @@ -8382,31 +34336,31 @@ ] }, "NegotiableIndicator": { - "description": "Indicates whether fee and charges are negotiable", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" }, "OverdraftControlIndicator": { - "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "INBB", "INFR", @@ -8417,8 +34371,8 @@ ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -8444,8 +34398,8 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "FEAC", "FEAO", @@ -8473,27 +34427,27 @@ "Notes": { "type": "array", "items": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" } }, "OverdraftFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FBAO", "FBAR", @@ -8508,29 +34462,28 @@ "FTOT", "FTUT" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", - "type": "integer" + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -8544,192 +34497,189 @@ "Notes": { "type": "array", "items": { - "description": "Notes related to Overdraft fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Notes related to Overdraft fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OtherFeeType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other Fee type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other fee rate type code which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies that are not available in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in the standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in the standard code set." } - } - }, - "minItems": 1 + }, + "description": "Details about the fees/charges" + } } - } + }, + "description": "Overdraft fees and charges" } } - } - }, - "minItems": 1 + }, + "description": "Provides overdraft details for a specific tier or band" + } }, "OverdraftFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Overdraft fees and charges details", "required": [ "OverdraftFeeChargeDetail" ], + "type": "object", "properties": { "OverdraftFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FBAO", "FBAR", @@ -8744,29 +34694,28 @@ "FTOT", "FTUT" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", - "type": "integer" + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -8780,58 +34729,59 @@ "Notes": { "type": "array", "items": { - "description": "Notes related to Overdraft fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Notes related to Overdraft fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OverdraftFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Details about the fees/charges", "required": [ - "FeeType", - "ApplicationFrequency" + "ApplicationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "FBAO", "FBAR", @@ -8848,31 +34798,31 @@ ] }, "NegotiableIndicator": { - "description": "Indicates whether fee and charges are negotiable", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" }, "OverdraftControlIndicator": { - "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "INBB", "INFR", @@ -8883,8 +34833,8 @@ ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -8910,8 +34860,8 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "FEAC", "FEAO", @@ -8939,27 +34889,27 @@ "Notes": { "type": "array", "items": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" } }, "OverdraftFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FBAO", "FBAR", @@ -8974,29 +34924,28 @@ "FTOT", "FTUT" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", - "type": "integer" + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -9010,200 +34959,198 @@ "Notes": { "type": "array", "items": { - "description": "Notes related to Overdraft fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Notes related to Overdraft fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OtherFeeType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other Fee type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other fee rate type code which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies that are not available in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in the standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in the standard code set." } - } - }, - "minItems": 1 + }, + "description": "Details about the fees/charges" + } } - } + }, + "description": "Overdraft fees and charges details" } } - } - }, - "minItems": 1 + }, + "description": "Tier band set details" + } } - } + }, + "description": "Borrowing details" }, "LoanInterest": { - "type": "object", "required": [ "LoanInterestTierBandSet" ], - "description": "Details about the interest that may be payable to the SME Loan holders", + "type": "object", "properties": { "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the LoanInterest", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the LoanInterest" } }, "LoanInterestTierBandSet": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "The group of tiers or bands for which debit interest can be applied.", "required": [ - "TierBandMethod", "CalculationMethod", - "LoanInterestTierBand" + "LoanInterestTierBand", + "TierBandMethod" ], + "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how credit interest is charged. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the SME Loan balance", "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the SME Loan balance", "enum": [ "INBA", "INTI", @@ -9211,14 +35158,14 @@ ] }, "Identification": { - "description": "Loan interest tierbandset identification. Used by loan providers for internal use purpose.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Loan interest tierbandset identification. Used by loan providers for internal use purpose." }, "CalculationMethod": { - "description": "Methods of calculating interest", "type": "string", + "description": "Methods of calculating interest", "enum": [ "ITCO", "ITOT", @@ -9228,75 +35175,74 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Tier Band Set details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" } }, "OtherCalculationMethod": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - }, - "additionalProperties": false + } }, "LoanInterestTierBand": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Tier Band Details", "required": [ - "TierValueMinimum", - "TierValueMinTerm", - "MinTermPeriod", "FixedVariableInterestRateType", - "RepAPR" + "MinTermPeriod", + "RepAPR", + "TierValueMinTerm", + "TierValueMinimum" ], + "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a SME Loan.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a SME Loan." }, "TierValueMinimum": { - "description": "Minimum loan value for which the loan interest tier applies.", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum loan value for which the loan interest tier applies." }, "TierValueMaximum": { - "description": "Maximum loan value for which the loan interest tier applies.", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum loan value for which the loan interest tier applies." }, "TierValueMinTerm": { - "description": "Minimum loan term for which the loan interest tier applies.", - "type": "integer" + "type": "integer", + "description": "Minimum loan term for which the loan interest tier applies." }, "MinTermPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the Minimum Term", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Minimum Term", "enum": [ "PACT", "PDAY", @@ -9308,12 +35254,12 @@ ] }, "TierValueMaxTerm": { - "description": "Maximum loan term for which the loan interest tier applies.", - "type": "integer" + "type": "integer", + "description": "Maximum loan term for which the loan interest tier applies." }, "MaxTermPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the Maximum Term", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Maximum Term", "enum": [ "PACT", "PDAY", @@ -9325,21 +35271,21 @@ ] }, "FixedVariableInterestRateType": { - "description": "Type of interest rate, Fixed or Variable", "type": "string", + "description": "Type of interest rate, Fixed or Variable", "enum": [ "INFI", "INVA" ] }, "RepAPR": { - "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nFor SME Loan, this APR is the representative APR which includes any account fees.", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nFor SME Loan, this APR is the representative APR which includes any account fees." }, "LoanProviderInterestRateType": { - "description": "Interest rate types, other than APR, which financial institutions may use to describe the annual interest rate payable for the SME Loan.", "type": "string", + "description": "Interest rate types, other than APR, which financial institutions may use to describe the annual interest rate payable for the SME Loan.", "enum": [ "INBB", "INFR", @@ -9350,69 +35296,68 @@ ] }, "LoanProviderInterestRate": { - "description": "Loan provider Interest for the SME Loan product", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Loan provider Interest for the SME Loan product" }, "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Tier Band details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" } }, "OtherLoanProviderInterestRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other loan interest rate types which are not available in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other loan interest rate types which are not available in the standard code list" }, "LoanInterestFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits", "required": [ "LoanInterestFeeChargeDetail" ], + "type": "object", "properties": { "LoanInterestFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Other fees/charges details", "required": [ - "FeeType", "ApplicationFrequency", - "CalculationFrequency" + "CalculationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { - "description": "Fee/Charge Type", "type": "string", + "description": "Fee/Charge Type", "enum": [ "FEPF", "FTOT", @@ -9426,22 +35371,22 @@ ] }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "INBB", "INFR", @@ -9452,8 +35397,8 @@ ] }, "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -9479,8 +35424,8 @@ ] }, "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "FEAC", "FEAO", @@ -9508,29 +35453,28 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the fee/charge details.", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." } }, "OtherFeeType": { - "type": "object", "required": [ + "Description", "FeeCategory", - "Name", - "Description" + "Name" ], - "description": "Other Fee/charge type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "FCOT", "FCRE", @@ -9538,123 +35482,120 @@ ] }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other Fee/charge type which is not available in the standard code set" }, "OtherFeeRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other fee rate type which is not in the standard rate type list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other fee rate type which is not in the standard rate type list" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies not covered in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies not covered in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in standard code set." } - } - }, - "minItems": 1 + }, + "description": "Other fees/charges details" + } }, "LoanInterestFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -9666,29 +35607,28 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "type": "integer" + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "FEAC", "FEAO", @@ -9716,75 +35656,76 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" } } - } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" } } - } - }, - "minItems": 1 + }, + "description": "Tier Band Details" + } }, "LoanInterestFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits", "required": [ "LoanInterestFeeChargeDetail" ], + "type": "object", "properties": { "LoanInterestFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Other fees/charges details", "required": [ - "FeeType", "ApplicationFrequency", - "CalculationFrequency" + "CalculationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { - "description": "Fee/Charge Type", "type": "string", + "description": "Fee/Charge Type", "enum": [ "FEPF", "FTOT", @@ -9798,22 +35739,22 @@ ] }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "INBB", "INFR", @@ -9824,8 +35765,8 @@ ] }, "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -9851,8 +35792,8 @@ ] }, "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "FEAC", "FEAO", @@ -9880,29 +35821,28 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the fee/charge details.", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." } }, "OtherFeeType": { - "type": "object", "required": [ + "Description", "FeeCategory", - "Name", - "Description" + "Name" ], - "description": "Other Fee/charge type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "FCOT", "FCRE", @@ -9910,123 +35850,120 @@ ] }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other Fee/charge type which is not available in the standard code set" }, "OtherFeeRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other fee rate type which is not in the standard rate type list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other fee rate type which is not in the standard rate type list" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies not covered in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies not covered in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in standard code set." } - } - }, - "minItems": 1 + }, + "description": "Other fees/charges details" + } }, "LoanInterestFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -10038,29 +35975,28 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "type": "integer" + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "FEAC", "FEAO", @@ -10088,61 +36024,63 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" } } - } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" } } - } - }, - "minItems": 1 + }, + "description": "The group of tiers or bands for which debit interest can be applied." + } } - } + }, + "description": "Details about the interest that may be payable to the SME Loan holders" }, "Repayment": { "type": "object", - "description": "Repayment details of the Loan product", "properties": { "RepaymentType": { - "description": "Repayment type", "type": "string", + "description": "Repayment type", "enum": [ "USBA", "USBU", @@ -10160,8 +36098,8 @@ ] }, "RepaymentFrequency": { - "description": "Repayment frequency", "type": "string", + "description": "Repayment frequency", "enum": [ "SMDA", "SMFL", @@ -10175,8 +36113,8 @@ ] }, "AmountType": { - "description": "The repayment is for paying just the interest only or both interest and capital or bullet amount or balance to date etc", "type": "string", + "description": "The repayment is for paying just the interest only or both interest and capital or bullet amount or balance to date etc", "enum": [ "RABD", "RABL", @@ -10190,114 +36128,113 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Repayment", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Repayment" } }, "OtherRepaymentType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other repayment type which is not in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other repayment type which is not in the standard code list" }, "OtherRepaymentFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other repayment frequency which is not in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other repayment frequency which is not in the standard code list" }, "OtherAmountType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other amount type which is not in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other amount type which is not in the standard code list" }, "RepaymentFeeCharges": { - "type": "object", "required": [ "RepaymentFeeChargeDetail" ], - "description": "Applicable fee/charges for repayment such as prepayment, full early repayment or non repayment.", + "type": "object", "properties": { "RepaymentFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Details about specific fees/charges that are applied for repayment", "required": [ - "FeeType", "ApplicationFrequency", - "CalculationFrequency" + "CalculationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { - "description": "Fee/Charge Type", "type": "string", + "description": "Fee/Charge Type", "enum": [ "FEPF", "FTOT", @@ -10311,22 +36248,22 @@ ] }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "INBB", "INFR", @@ -10337,8 +36274,8 @@ ] }, "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -10364,8 +36301,8 @@ ] }, "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "FEAC", "FEAO", @@ -10393,29 +36330,28 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the fee/charge details.", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." } }, "OtherFeeType": { - "type": "object", "required": [ + "Description", "FeeCategory", - "Name", - "Description" + "Name" ], - "description": "Other Fee/charge type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "FCOT", "FCRE", @@ -10423,123 +36359,120 @@ ] }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other Fee/charge type which is not available in the standard code set" }, "OtherFeeRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other fee rate type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other fee rate type which is not available in the standard code set" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies not covered in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies not covered in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in standard code set." } - } - }, - "minItems": 1 + }, + "description": "Details about specific fees/charges that are applied for repayment" + } }, "RepaymentFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "RepaymentFeeChargeCap sets daily, weekly, monthly, yearly limits on the fees that are charged", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -10551,29 +36484,28 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "type": "integer" + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -10587,60 +36519,61 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "RepaymentFeeChargeCap sets daily, weekly, monthly, yearly limits on the fees that are charged" } } - } + }, + "description": "Applicable fee/charges for repayment such as prepayment, full early repayment or non repayment." }, "RepaymentHoliday": { "type": "array", "items": { "type": "object", - "description": "Details of capital repayment holiday if any", "properties": { "MaxHolidayLength": { - "description": "The maximum length/duration of a Repayment Holiday", - "type": "integer" + "type": "integer", + "description": "The maximum length/duration of a Repayment Holiday" }, "MaxHolidayPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the repayment holiday", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the repayment holiday", "enum": [ "PACT", "PDAY", @@ -10654,29 +36587,30 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding details for repayment holiday", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding details for repayment holiday" } } - } + }, + "description": "Details of capital repayment holiday if any" } } - } + }, + "description": "Repayment details of the Loan product" }, "OtherFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", "required": [ "FeeChargeDetail" ], + "type": "object", "properties": { "TariffType": { - "description": "TariffType which defines the fee and charges.", "type": "string", + "description": "TariffType which defines the fee and charges.", "enum": [ "TTEL", "TTMX", @@ -10684,52 +36618,52 @@ ] }, "TariffName": { - "description": "Name of the tariff", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Name of the tariff" }, "OtherTariffType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other tariff type which is not in the standard list.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other tariff type which is not in the standard list." }, "FeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Other fees/charges details", "required": [ + "ApplicationFrequency", "FeeCategory", - "FeeType", - "ApplicationFrequency" + "FeeType" ], + "type": "object", "properties": { "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "FCOT", "FCRE", @@ -10737,8 +36671,8 @@ ] }, "FeeType": { - "description": "Fee/Charge Type", "type": "string", + "description": "Fee/Charge Type", "enum": [ "FEPF", "FTOT", @@ -10752,22 +36686,22 @@ ] }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "INBB", "INFR", @@ -10778,8 +36712,8 @@ ] }, "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -10805,8 +36739,8 @@ ] }, "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "FEAC", "FEAO", @@ -10834,27 +36768,27 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the fee/charge details.", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." } }, "FeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -10866,29 +36800,28 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "type": "integer" + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -10902,89 +36835,88 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" } }, "OtherFeeCategoryType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - }, - "additionalProperties": false + } }, "OtherFeeType": { - "type": "object", "required": [ + "Description", "FeeCategory", - "Name", - "Description" + "Name" ], - "description": "Other Fee/charge type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "FCOT", "FCRE", @@ -10992,149 +36924,146 @@ ] }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other Fee/charge type which is not available in the standard code set" }, "OtherFeeRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other fee rate type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other fee rate type which is not available in the standard code set" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies not covered in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies not covered in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in standard code set." }, "FeeApplicableRange": { "type": "object", - "description": "Range or amounts or rates for which the fee/charge applies", "properties": { "MinimumAmount": { - "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" }, "MaximumAmount": { - "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" }, "MinimumRate": { - "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" }, "MaximumRate": { - "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" } - } + }, + "description": "Range or amounts or rates for which the fee/charge applies" } - } - }, - "minItems": 1 + }, + "description": "Other fees/charges details" + } }, "FeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -11146,29 +37075,28 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "type": "integer" + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -11182,71 +37110,72 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" } } - } + }, + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" } }, "SupplementaryData": { "type": "object", - "properties": {}, - "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "Other product type details associated with the account." }, "BCA": { - "type": "object", "title": "BCA", + "type": "object", "properties": { "ProductDetails": { - "type": "object", "title": "ProductDetails", + "type": "object", "properties": { "Segment": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", "title": "Segment", "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", "items": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", "enum": [ "ClientAccount", "Standard", @@ -11260,15 +37189,15 @@ } }, "FeeFreeLength": { - "description": "The length/duration of the fee free period", "title": "FeeFreeLength", "type": "number", + "description": "The length/duration of the fee free period", "format": "float" }, "FeeFreeLengthPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the promotional length", "title": "FeeFreeLengthPeriod", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", "enum": [ "Day", "Half Year", @@ -11279,36 +37208,42 @@ ] }, "Notes": { - "description": "Optional additional notes to supplement the Core product details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Core product details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } } - }, - "additionalProperties": false + } }, "CreditInterest": { - "description": "Details about the interest that may be payable to the BCA account holders", - "type": "object", "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", "properties": { "TierBandSet": { - "description": "The group of tiers or bands for which credit interest can be applied.", - "type": "array", "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", "items": { - "description": "The group of tiers or bands for which credit interest can be applied.", + "required": [ + "Destination", + "TierBand", + "TierBandMethod" + ], "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how credit interest is paid/applied. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the BCA balance", "title": "TierBandMethod", "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the BCA balance", "enum": [ "Banded", "Tiered", @@ -11316,65 +37251,71 @@ ] }, "CalculationMethod": { - "description": "Methods of calculating interest", "title": "CalculationMethod", "type": "string", + "description": "Methods of calculating interest", "enum": [ "Compound", "SimpleInterest" ] }, "Destination": { - "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", "title": "Destination", "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", "enum": [ "PayAway", "SelfCredit" ] }, "Notes": { - "description": "Optional additional notes to supplement the Tier Band Set details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "TierBand": { - "description": "Tier Band Details", - "type": "array", "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", "items": { - "description": "Tier Band Details", + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a BCA.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a BCA." }, "TierValueMinimum": { - "description": "Minimum deposit value for which the credit interest tier applies.", "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum deposit value for which the credit interest tier applies." }, "TierValueMaximum": { - "description": "Maximum deposit value for which the credit interest tier applies.", "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum deposit value for which the credit interest tier applies." }, "CalculationFrequency": { - "description": "How often is credit interest calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is credit interest calculated for the account.", "enum": [ "Daily", "HalfYearly", @@ -11387,9 +37328,9 @@ ] }, "ApplicationFrequency": { - "description": "How often is interest applied to the BCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's BCA.", "title": "ApplicationFrequency", "type": "string", + "description": "How often is interest applied to the BCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's BCA.", "enum": [ "Daily", "HalfYearly", @@ -11402,9 +37343,9 @@ ] }, "DepositInterestAppliedCoverage": { - "description": "Amount on which Interest applied.", "title": "DepositInterestAppliedCoverage", "type": "string", + "description": "Amount on which Interest applied.", "enum": [ "Banded", "Tiered", @@ -11412,201 +37353,190 @@ ] }, "FixedVariableInterestRateType": { - "description": "Type of interest rate, Fixed or Variable", "title": "FixedVariableInterestRateType", "type": "string", + "description": "Type of interest rate, Fixed or Variable", "enum": [ "Fixed", "Variable" ] }, "AER": { - "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A", "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" }, "BankInterestRateType": { - "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the BCA.", "title": "BankInterestRateType", "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the BCA.", "enum": [ "Gross", "Other" ] }, "BankInterestRate": { - "description": "Bank Interest for the BCA product", "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Bank Interest for the BCA product" }, "Notes": { - "description": "Optional additional notes to supplement the Tier Band details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherBankInterestType": { - "description": "Other interest rate types which are not available in the standard code list", - "type": "object", "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other interest rate types which are not available in the standard code list" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." } }, - "required": [ - "TierValueMinimum", - "ApplicationFrequency", - "FixedVariableInterestRateType", - "AER" - ] - }, - "minItems": 1 + "description": "Tier Band Details" + } } }, - "required": [ - "TierBandMethod", - "Destination", - "TierBand" - ] - }, - "minItems": 1 + "description": "The group of tiers or bands for which credit interest can be applied." + } } }, - "additionalProperties": false, - "required": [ - "TierBandSet" - ] + "description": "Details about the interest that may be payable to the BCA account holders" }, "Overdraft": { - "description": "Borrowing details", - "type": "object", "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", "properties": { "Notes": { - "description": "Associated Notes about the overdraft rates", "title": "Notes", "type": "array", + "description": "Associated Notes about the overdraft rates", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftTierBandSet": { - "description": "Tier band set details", - "type": "array", "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", "items": { - "description": "Tier band set details", + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "title": "TierBandMethod", "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "enum": [ "Banded", "Tiered", @@ -11614,98 +37544,101 @@ ] }, "OverdraftType": { - "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "title": "OverdraftType", "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "enum": [ "Committed", "OnDemand" ] }, "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft product.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." }, "AuthorisedIndicator": { - "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)", "title": "AuthorisedIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" }, "BufferAmount": { - "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply.", "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." }, "Notes": { - "description": "Optional additional notes to supplement the overdraft Tier Band Set details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftTierBand": { - "description": "Provides overdraft details for a specific tier or band", - "type": "array", "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", "items": { - "description": "Provides overdraft details for a specific tier or band", + "required": [ + "TierValueMin" + ], "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." }, "TierValueMin": { - "description": "Minimum value of Overdraft Tier/Band", "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum value of Overdraft Tier/Band" }, "TierValueMax": { - "description": "Maximum value of Overdraft Tier/Band", "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum value of Overdraft Tier/Band" }, "EAR": { - "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft.", "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." }, "RepresentativeAPR": { - "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account.", "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." }, "AgreementLengthMin": { - "description": "Specifies the minimum length of a band for a fixed overdraft agreement", "title": "AgreementLengthMin", "type": "number", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement", "format": "float" }, "AgreementLengthMax": { - "description": "Specifies the maximum length of a band for a fixed overdraft agreement", "title": "AgreementLengthMax", "type": "number", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement", "format": "float" }, "AgreementPeriod": { - "description": "Specifies the period of a fixed length overdraft agreement", "title": "AgreementPeriod", "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", "enum": [ "Day", "Half Year", @@ -11716,9 +37649,9 @@ ] }, "OverdraftInterestChargingCoverage": { - "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is £2k and the interest tiers are:- 0-£500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the ‘Whole’ of the account balance, and in the 2nd that it is ‘Tiered’.", "title": "OverdraftInterestChargingCoverage", "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is £2k and the interest tiers are:- 0-£500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the ‘Whole’ of the account balance, and in the 2nd that it is ‘Tiered’.", "enum": [ "Banded", "Tiered", @@ -11726,44 +37659,50 @@ ] }, "BankGuaranteedIndicator": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "BankGuaranteedIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances." }, "Notes": { - "description": "Optional additional notes to supplement the Tier/band details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftFeesCharges": { - "description": "Overdraft fees and charges", - "type": "array", "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", "items": { - "description": "Overdraft fees and charges", + "required": [ + "OverdraftFeeChargeDetail" + ], "type": "object", "properties": { "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -11778,34 +37717,33 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "FeeCapOccurrence", "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -11816,72 +37754,73 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OverdraftFeeChargeDetail": { - "description": "Details about the fees/charges", - "type": "array", "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", "items": { - "description": "Details about the fees/charges", + "required": [ + "ApplicationFrequency", + "FeeType" + ], "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "title": "FeeType", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -11898,46 +37837,46 @@ ] }, "NegotiableIndicator": { - "description": "Indicates whether fee and charges are negotiable", "title": "NegotiableIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" }, "OverdraftControlIndicator": { - "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "Gross", "Other" ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "OnClosing", "OnOpening", @@ -11962,9 +37901,9 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "OnClosing", "OnOpening", @@ -11989,31 +37928,35 @@ ] }, "Notes": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "title": "Notes", "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -12028,34 +37971,33 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "FeeCapOccurrence", "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -12066,240 +38008,230 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OtherFeeType": { - "description": "Other Fee type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type code which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." } }, - "required": [ - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Details about the fees/charges" + } } }, - "required": [ - "OverdraftFeeChargeDetail" - ] + "description": "Overdraft fees and charges" } } }, - "required": [ - "TierValueMin" - ] - }, - "minItems": 1 + "description": "Provides overdraft details for a specific tier or band" + } }, "OverdraftFeesCharges": { - "description": "Overdraft fees and charges details", - "type": "array", "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", "items": { - "description": "Overdraft fees and charges details", + "required": [ + "OverdraftFeeChargeDetail" + ], "type": "object", "properties": { "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -12314,34 +38246,33 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "FeeCapOccurrence", "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -12352,72 +38283,73 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OverdraftFeeChargeDetail": { - "description": "Details about the fees/charges", - "type": "array", "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", "items": { - "description": "Details about the fees/charges", + "required": [ + "ApplicationFrequency", + "FeeType" + ], "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "title": "FeeType", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -12434,46 +38366,46 @@ ] }, "NegotiableIndicator": { - "description": "Indicates whether fee and charges are negotiable", "title": "NegotiableIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" }, "OverdraftControlIndicator": { - "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "Gross", "Other" ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "OnClosing", "OnOpening", @@ -12498,9 +38430,9 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "OnClosing", "OnOpening", @@ -12525,31 +38457,35 @@ ] }, "Notes": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "title": "Notes", "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -12564,34 +38500,33 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "FeeCapOccurrence", "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -12602,236 +38537,218 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OtherFeeType": { - "description": "Other Fee type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type code which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." } }, - "required": [ - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Details about the fees/charges" + } } }, - "required": [ - "OverdraftFeeChargeDetail" - ] + "description": "Overdraft fees and charges details" } } }, - "required": [ - "TierBandMethod", - "OverdraftTierBand" - ] - }, - "minItems": 1 + "description": "Tier band set details" + } } }, - "additionalProperties": false, - "required": [ - "OverdraftTierBandSet" - ] + "description": "Borrowing details" }, "OtherFeesCharges": { - "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", - "type": "array", "title": "OtherFeesCharges", + "type": "array", + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", "items": { - "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", + "required": [ + "FeeChargeDetail" + ], "type": "object", "properties": { "TariffType": { - "description": "TariffType which defines the fee and charges.", "title": "TariffType", "type": "string", + "description": "TariffType which defines the fee and charges.", "enum": [ "Electronic", "Mixed", @@ -12839,67 +38756,71 @@ ] }, "TariffName": { - "description": "Name of the tariff", "title": "TariffName", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Name of the tariff" }, "OtherTariffType": { - "description": "Other tariff type which is not in the standard list.", - "type": "object", "title": "OtherTariffType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other tariff type which is not in the standard list." }, "FeeChargeDetail": { - "description": "Other fees/charges details", - "type": "array", "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", "items": { - "description": "Other fees/charges details", + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], "type": "object", "properties": { "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "title": "FeeCategory", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "Other", "Servicing" ] }, "FeeType": { - "description": "Fee/Charge Type", "title": "FeeType", "type": "string", + "description": "Fee/Charge Type", "enum": [ "Other", "ServiceCAccountFee", @@ -12912,35 +38833,35 @@ ] }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", "title": "NegotiableIndicator", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "Gross", "Other" ] }, "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "OnClosing", "OnOpening", @@ -12965,9 +38886,9 @@ ] }, "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", "title": "CalculationFrequency", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "OnClosing", "OnOpening", @@ -12992,31 +38913,35 @@ ] }, "Notes": { - "description": "Optional additional notes to supplement the fee/charge details.", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "FeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", - "type": "array", "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "Other", "ServiceCAccountFee", @@ -13027,34 +38952,33 @@ "ServiceCMinimumMonthlyFee", "ServiceCOther" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -13065,295 +38989,285 @@ ] }, "Notes": { - "description": "Free text for adding extra details for fee charge cap", "title": "Notes", "type": "array", + "description": "Free text for adding extra details for fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" } }, "OtherFeeCategoryType": { - "type": "object", "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + } }, "OtherFeeType": { - "description": "Other Fee/charge type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "title": "FeeCategory", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "Other", "Servicing" ] }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "FeeCategory", - "Name", - "Description" - ] + "description": "Other Fee/charge type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies not covered in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies not covered in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in standard code set." }, "FeeApplicableRange": { - "description": "Range or amounts or rates for which the fee/charge applies", - "type": "object", "title": "FeeApplicableRange", + "type": "object", "properties": { "MinimumAmount": { - "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)", "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" }, "MaximumAmount": { - "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)", "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" }, "MinimumRate": { - "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)", "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" }, "MaximumRate": { - "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)", "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" } }, - "additionalProperties": false + "description": "Range or amounts or rates for which the fee/charge applies" } }, - "required": [ - "FeeCategory", - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Other fees/charges details" + } }, "FeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", - "type": "array", "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "Other", "ServiceCAccountFee", @@ -13364,34 +39278,33 @@ "ServiceCMinimumMonthlyFee", "ServiceCOther" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -13402,84 +39315,78 @@ ] }, "Notes": { - "description": "Free text for adding extra details for fee charge cap", "title": "Notes", "type": "array", + "description": "Free text for adding extra details for fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" } } }, - "required": [ - "FeeChargeDetail" - ] + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" } } - }, - "additionalProperties": false + } }, "PCA": { - "type": "object", "title": "PCA", + "type": "object", "properties": { "ProductDetails": { - "type": "object", "title": "ProductDetails", + "type": "object", "properties": { "Segment": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", "title": "Segment", "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", "items": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", "enum": [ "Basic", "BenefitAndReward", @@ -13499,107 +39406,118 @@ } }, "MonthlyMaximumCharge": { - "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order", "title": "MonthlyMaximumCharge", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" }, "Notes": { - "description": "Optional additional notes to supplement the Core product details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Core product details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } } - }, - "additionalProperties": false + } }, "CreditInterest": { - "description": "Details about the interest that may be payable to the PCA account holders", - "type": "object", "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", "properties": { "TierBandSet": { - "description": "The group of tiers or bands for which credit interest can be applied.", - "type": "array", "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", "items": { - "description": "The group of tiers or bands for which credit interest can be applied.", + "required": [ + "TierBand", + "TierBandMethod" + ], "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how credit interest is charged. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the PCA balance", "title": "TierBandMethod", "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the PCA balance", "enum": [ "Tiered", "Whole" ] }, "CalculationMethod": { - "description": "Methods of calculating interest", "title": "CalculationMethod", "type": "string", + "description": "Methods of calculating interest", "enum": [ "Compound", "SimpleInterest" ] }, "Destination": { - "description": "Describes whether accrued interest is payable only to the PCA or to another bank account", "title": "Destination", "type": "string", + "description": "Describes whether accrued interest is payable only to the PCA or to another bank account", "enum": [ "PayAway", "SelfCredit" ] }, "Notes": { - "description": "Optional additional notes to supplement the Tier Band Set details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "TierBand": { - "description": "Tier Band Details", - "type": "array", "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", "items": { - "description": "Tier Band Details", + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a PCA.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a PCA." }, "TierValueMinimum": { - "description": "Minimum deposit value for which the credit interest tier applies.", "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum deposit value for which the credit interest tier applies." }, "TierValueMaximum": { - "description": "Maximum deposit value for which the credit interest tier applies.", "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum deposit value for which the credit interest tier applies." }, "CalculationFrequency": { - "description": "How often is credit interest calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is credit interest calculated for the account.", "enum": [ "PerAcademicTerm", "Daily", @@ -13613,9 +39531,9 @@ ] }, "ApplicationFrequency": { - "description": "How often is interest applied to the PCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's PCA.", "title": "ApplicationFrequency", "type": "string", + "description": "How often is interest applied to the PCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's PCA.", "enum": [ "PerAcademicTerm", "Daily", @@ -13629,33 +39547,33 @@ ] }, "DepositInterestAppliedCoverage": { - "description": "Amount on which Interest applied.", "title": "DepositInterestAppliedCoverage", "type": "string", + "description": "Amount on which Interest applied.", "enum": [ "Tiered", "Whole" ] }, "FixedVariableInterestRateType": { - "description": "Type of interest rate, Fixed or Variable", "title": "FixedVariableInterestRateType", "type": "string", + "description": "Type of interest rate, Fixed or Variable", "enum": [ "Fixed", "Variable" ] }, "AER": { - "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A", "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" }, "BankInterestRateType": { - "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the PCA.", "title": "BankInterestRateType", "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the PCA.", "enum": [ "LinkedBaseRate", "Gross", @@ -13664,176 +39582,166 @@ ] }, "BankInterestRate": { - "description": "Bank Interest for the PCA product", "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Bank Interest for the PCA product" }, "Notes": { - "description": "Optional additional notes to supplement the Tier Band details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherBankInterestType": { - "description": "Other interest rate types which are not available in the standard code list", - "type": "object", "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other interest rate types which are not available in the standard code list" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." } }, - "required": [ - "TierValueMinimum", - "ApplicationFrequency", - "FixedVariableInterestRateType", - "AER" - ] - }, - "minItems": 1 + "description": "Tier Band Details" + } } }, - "required": [ - "TierBandMethod", - "TierBand" - ] - }, - "minItems": 1 + "description": "The group of tiers or bands for which credit interest can be applied." + } } }, - "additionalProperties": false, - "required": [ - "TierBandSet" - ] + "description": "Details about the interest that may be payable to the PCA account holders" }, "Overdraft": { - "description": "Details about Overdraft rates, fees & charges", - "type": "object", "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", "properties": { "Notes": { - "description": "Associated Notes about the overdraft rates", "title": "Notes", "type": "array", + "description": "Associated Notes about the overdraft rates", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftTierBandSet": { - "description": "Tier band set details", - "type": "array", "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", "items": { - "description": "Tier band set details", + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "title": "TierBandMethod", "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "enum": [ "Tiered", "Whole", @@ -13841,9 +39749,9 @@ ] }, "OverdraftType": { - "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "title": "OverdraftType", "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "enum": [ "Committed", "OnDemand", @@ -13851,121 +39759,130 @@ ] }, "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft product.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." }, "AuthorisedIndicator": { - "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)", "title": "AuthorisedIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" }, "BufferAmount": { - "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply.", "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." }, "Notes": { - "description": "Optional additional notes to supplement the overdraft Tier Band Set details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftTierBand": { - "description": "Provides overdraft details for a specific tier or band", - "type": "array", "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", "items": { - "description": "Provides overdraft details for a specific tier or band", + "required": [ + "TierValueMin" + ], "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." }, "TierValueMin": { - "description": "Minimum value of Overdraft Tier/Band", "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum value of Overdraft Tier/Band" }, "TierValueMax": { - "description": "Maximum value of Overdraft Tier/Band", "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum value of Overdraft Tier/Band" }, "OverdraftInterestChargingCoverage": { - "description": "Interest charged on whole amount or tiered/banded", "title": "OverdraftInterestChargingCoverage", "type": "string", + "description": "Interest charged on whole amount or tiered/banded", "enum": [ "Tiered", "Whole" ] }, "BankGuaranteedIndicator": { - "description": "Indicates that a bank provides the overdraft limit up to TierValueMIn to all customers automatically", "title": "BankGuaranteedIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates that a bank provides the overdraft limit up to TierValueMIn to all customers automatically" }, "EAR": { - "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft.", "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." }, "RepresentativeAPR": { - "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account.", "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." }, "Notes": { - "description": "Optional additional notes to supplement the Tier/band details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftFeesCharges": { - "description": "Overdraft fees and charges", - "type": "array", "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", "items": { - "description": "Overdraft fees and charges", + "required": [ + "OverdraftFeeChargeDetail" + ], "type": "object", "properties": { "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -13980,39 +39897,38 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -14024,72 +39940,73 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } }, "OverdraftFeeChargeDetail": { - "description": "Details about the fees/charges", - "type": "array", "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", "items": { - "description": "Details about the fees/charges", + "required": [ + "ApplicationFrequency", + "FeeType" + ], "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "title": "FeeType", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -14106,32 +40023,32 @@ ] }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "LinkedBaseRate", "Gross", @@ -14140,9 +40057,9 @@ ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "AccountClosing", "AccountOpening", @@ -14167,9 +40084,9 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "AccountClosing", "AccountOpening", @@ -14194,164 +40111,164 @@ ] }, "Notes": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "title": "Notes", "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other Fee type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type code which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." }, "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "object", "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -14366,39 +40283,38 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -14410,104 +40326,97 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "additionalProperties": false, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } }, - "required": [ - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Details about the fees/charges" + } } }, - "required": [ - "OverdraftFeeChargeDetail" - ] + "description": "Overdraft fees and charges" } } }, - "required": [ - "TierValueMin" - ] - }, - "minItems": 1 + "description": "Provides overdraft details for a specific tier or band" + } }, "OverdraftFeesCharges": { - "description": "Overdraft fees and charges details", - "type": "array", "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", "items": { - "description": "Overdraft fees and charges details", + "required": [ + "OverdraftFeeChargeDetail" + ], "type": "object", "properties": { "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -14522,39 +40431,38 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -14566,72 +40474,73 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } }, "OverdraftFeeChargeDetail": { - "description": "Details about the fees/charges", - "type": "array", "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", "items": { - "description": "Details about the fees/charges", + "required": [ + "ApplicationFrequency", + "FeeType" + ], "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "title": "FeeType", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -14648,32 +40557,32 @@ ] }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "LinkedBaseRate", "Gross", @@ -14682,9 +40591,9 @@ ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "AccountClosing", "AccountOpening", @@ -14709,9 +40618,9 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "AccountClosing", "AccountOpening", @@ -14736,890 +40645,15511 @@ ] }, "Notes": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "title": "Notes", "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other Fee type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type code which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, + "description": "Other calculation frequency which is not available in the standard code set." + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", "required": [ - "Name", - "Description" - ] + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Details about Overdraft rates, fees & charges" + }, + "OtherFeesCharges": { + "title": "OtherFeesCharges", + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "FeeChargeDetail": { + "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeCategoryType": { + "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" }, - "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "object", - "title": "OverdraftFeeChargeCap", - "properties": { - "FeeType": { - "description": "Fee/charge type which is being capped", - "title": "FeeType", - "type": "array", - "items": { - "description": "Overdraft fee type", - "type": "string", - "enum": [ - "ArrangedOverdraft", - "EmergencyBorrowing", - "BorrowingItem", - "OverdraftRenewal", - "AnnualReview", - "OverdraftSetup", - "Surcharge", - "TempOverdraft", - "UnauthorisedBorrowing", - "UnauthorisedPaidTrans", - "Other", - "UnauthorisedUnpaidTrans" - ] - }, - "minItems": 1 - }, - "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", - "title": "OverdraftControlIndicator", - "type": "boolean" - }, - "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", - "title": "MinMaxType", - "type": "string", - "enum": [ - "Minimum", - "Maximum" - ] - }, - "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "title": "FeeCapOccurrence", - "type": "number", - "format": "float" - }, - "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", - "title": "FeeCapAmount", - "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" - }, - "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", - "title": "CappingPeriod", - "type": "string", - "enum": [ - "AcademicTerm", - "Day", - "Half Year", - "Month", - "Quarter", - "Week", - "Year" - ] - }, - "Notes": { - "description": "Notes related to Overdraft fee charge cap", - "title": "Notes", - "type": "array", - "items": { - "description": "maxLength 2000 text", - "type": "string", - "minLength": 1, - "maxLength": 2000 - } - }, - "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", - "title": "OtherFeeType", - "items": { - "description": "Other fee type code which is not available in the standard code set", - "type": "object", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "required": [ - "Name", - "Description" - ] - } - } - }, - "additionalProperties": false, - "required": [ - "FeeType", - "MinMaxType" - ] + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Other fee type code which is not available in the standard code set" + } } }, - "required": [ - "OverdraftFeeChargeDetail" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } + }, + "FeeApplicableRange": { + "title": "FeeApplicableRange", + "type": "object", + "properties": { + "MinimumAmount": { + "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" } }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { "required": [ - "TierBandMethod", - "OverdraftTierBand" - ] + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either borrowing or features/benefits" + } + } + } + }, + "description": "Product details associated with the Account" + } + } + }, + "description": "Aligning with the read write specs structure." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + }, + "description": "Product details of Other Product which is not avaiable in the standard list" + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/scheduled-payments": { + "get": { + "tags": [ + "Scheduled Payments" + ], + "summary": "Get Scheduled Payments", + "operationId": "GetAccountsAccountIdScheduledPayments", + "parameters": [ + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Scheduled Payments Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "ScheduledPayment": { + "type": "array", + "items": { + "required": [ + "AccountId", + "InstructedAmount", + "ScheduledPaymentDateTime", + "ScheduledType" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "ScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner." + }, + "ScheduledPaymentDateTime": { + "type": "string", + "description": "The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ScheduledType": { + "type": "string", + "description": "Specifies the scheduled payment date type requested", + "enum": [ + "Arrival", + "Execution" + ] + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "DebtorReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "A reference value provided by the PSU to the PISP while setting up the scheduled payment." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "CreditorAgent": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Beneficiary account identification." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "ScheduledPayment": { + "type": "array", + "items": { + "required": [ + "AccountId", + "InstructedAmount", + "ScheduledPaymentDateTime", + "ScheduledType" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "ScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner." + }, + "ScheduledPaymentDateTime": { + "type": "string", + "description": "The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ScheduledType": { + "type": "string", + "description": "Specifies the scheduled payment date type requested", + "enum": [ + "Arrival", + "Execution" + ] + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "DebtorReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "A reference value provided by the PSU to the PISP while setting up the scheduled payment." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "CreditorAgent": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Beneficiary account identification." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "ScheduledPayment": { + "type": "array", + "items": { + "required": [ + "AccountId", + "InstructedAmount", + "ScheduledPaymentDateTime", + "ScheduledType" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "ScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner." + }, + "ScheduledPaymentDateTime": { + "type": "string", + "description": "The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ScheduledType": { + "type": "string", + "description": "Specifies the scheduled payment date type requested", + "enum": [ + "Arrival", + "Execution" + ] + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "DebtorReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "A reference value provided by the PSU to the PISP while setting up the scheduled payment." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "CreditorAgent": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Beneficiary account identification." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/standing-orders": { + "get": { + "tags": [ + "Standing Orders" + ], + "summary": "Get Standing Orders", + "operationId": "GetAccountsAccountIdStandingOrders", + "parameters": [ + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Standing Orders Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "StandingOrder": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Frequency" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StandingOrderId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner." + }, + "Frequency": { + "pattern": "^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nNotKnown - Not Known\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlDay - An interval specified in number of calendar days (02 to 31)\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nIndividual Patterns:\nNotKnown (ScheduleCode)\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlDay:NoOfDay (ScheduleCode + NoOfDay)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nNotKnown\nEvryDay\nEvryWorkgDay\nIntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1])\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "NextPaymentDateTime": { + "type": "string", + "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastPaymentDateTime": { + "type": "string", + "description": "The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "StandingOrderStatusCode": { + "type": "string", + "description": "Specifies the status of the standing order in code form.", + "enum": [ + "Active", + "Inactive" + ] + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the first Standing Order" + }, + "NextPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the next Standing Order." + }, + "LastPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the last (most recent) Standing Order instruction." + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "CreditorAgent": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Beneficiary account identification." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "StandingOrder": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Frequency" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StandingOrderId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner." + }, + "Frequency": { + "pattern": "^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nNotKnown - Not Known\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlDay - An interval specified in number of calendar days (02 to 31)\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nIndividual Patterns:\nNotKnown (ScheduleCode)\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlDay:NoOfDay (ScheduleCode + NoOfDay)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nNotKnown\nEvryDay\nEvryWorkgDay\nIntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1])\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "NextPaymentDateTime": { + "type": "string", + "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastPaymentDateTime": { + "type": "string", + "description": "The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "StandingOrderStatusCode": { + "type": "string", + "description": "Specifies the status of the standing order in code form.", + "enum": [ + "Active", + "Inactive" + ] + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the first Standing Order" + }, + "NextPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the next Standing Order." + }, + "LastPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the last (most recent) Standing Order instruction." + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "CreditorAgent": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Beneficiary account identification." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "StandingOrder": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Frequency" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StandingOrderId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner." + }, + "Frequency": { + "pattern": "^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nNotKnown - Not Known\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlDay - An interval specified in number of calendar days (02 to 31)\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nIndividual Patterns:\nNotKnown (ScheduleCode)\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlDay:NoOfDay (ScheduleCode + NoOfDay)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nNotKnown\nEvryDay\nEvryWorkgDay\nIntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1])\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "NextPaymentDateTime": { + "type": "string", + "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastPaymentDateTime": { + "type": "string", + "description": "The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "StandingOrderStatusCode": { + "type": "string", + "description": "Specifies the status of the standing order in code form.", + "enum": [ + "Active", + "Inactive" + ] + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the first Standing Order" + }, + "NextPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the next Standing Order." + }, + "LastPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the last (most recent) Standing Order instruction." + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "CreditorAgent": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Beneficiary account identification." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/statements": { + "get": { + "tags": [ + "Statements" + ], + "summary": "Get Statements", + "operationId": "GetAccountsAccountIdStatements", + "parameters": [ + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + }, + { + "name": "fromStatementDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter statements FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "toStatementDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter statements TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Statements Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Statement": { + "type": "array", + "items": { + "required": [ + "AccountId", + "CreationDateTime", + "EndDateTime", + "StartDateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StatementId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable." + }, + "StatementReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + }, + "Type": { + "type": "string", + "description": "Statement type, in a coded form.", + "enum": [ + "AccountClosure", + "AccountOpening", + "Annual", + "Interim", + "RegularPeriodic" + ] + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatementDescription": { + "type": "array", + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Other descriptions that may be available for the statement resource." + } + }, + "StatementBenefit": { + "type": "array", + "items": { + "required": [ + "Amount", + "Type" + ], + "type": "object", + "properties": { + "Type": { + "type": "string", + "description": "Benefit type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Cashback", + "UK.OBIE.Insurance", + "UK.OBIE.TravelDiscount", + "UK.OBIE.TravelInsurance" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement benefit type." + } + }, + "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource." + } + }, + "StatementFee": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement fee." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Fee type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CashAdvance", + "UK.OBIE.CashTransaction", + "UK.OBIE.ForeignCashTransaction", + "UK.OBIE.ForeignTransaction", + "UK.OBIE.Gambling", + "UK.OBIE.LatePayment", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Monthly", + "UK.OBIE.Overlimit", + "UK.OBIE.PostalOrder", + "UK.OBIE.PrizeEntry", + "UK.OBIE.StatementCopy", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)" + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement fee rate type.", + "x-namespaced-enum": [ + "UK.OBIE.AER", + "UK.OBIE.EAR" + ] + }, + "Frequency": { + "type": "string", + "description": "How frequently the fee is applied to the Account.", + "x-namespaced-enum": [ + "UK.OBIE.ChargingPeriod", + "UK.OBIE.PerTransactionAmount", + "UK.OBIE.PerTransactionPercentage", + "UK.OBIE.Quarterly", + "UK.OBIE.StatementMonthly", + "UK.OBIE.Weekly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement fee type." + } + }, + "description": "Set of elements used to provide details of a fee for the statement resource." + } + }, + "StatementInterest": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement interest." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Interest amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransfer", + "UK.OBIE.Cash", + "UK.OBIE.EstimatedNext", + "UK.OBIE.Purchase", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary." + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement Interest rate type.", + "x-namespaced-enum": [ + "UK.OBIE.BOEBaseRate", + "UK.OBIE.FixedRate", + "UK.OBIE.Gross", + "UK.OBIE.LoanProviderBaseRate", + "UK.OBIE.Net" + ] + }, + "Frequency": { + "type": "string", + "description": "Specifies the statement fee type requested", + "x-namespaced-enum": [ + "UK.OBIE.Daily", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.PerStatementDate", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly", + "UK.OBIE.Yearly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement interest amount type." + } + }, + "description": "Set of elements used to provide details of a generic interest amount related to the statement resource." + } + }, + "StatementAmount": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.ArrearsClosingBalance", + "UK.OBIE.AvailableBalance", + "UK.OBIE.AverageBalanceWhenInCredit", + "UK.OBIE.AverageBalanceWhenInDebit", + "UK.OBIE.AverageDailyBalance", + "UK.OBIE.BalanceTransferClosingBalance", + "UK.OBIE.CashClosingBalance", + "UK.OBIE.ClosingBalance", + "UK.OBIE.CreditLimit", + "UK.OBIE.CurrentPayment", + "UK.OBIE.DirectDebitPaymentDue", + "UK.OBIE.FSCSInsurance", + "UK.OBIE.MinimumPaymentDue", + "UK.OBIE.PendingTransactionsBalance", + "UK.OBIE.PreviousClosingBalance", + "UK.OBIE.PreviousPayment", + "UK.OBIE.PurchaseClosingBalance", + "UK.OBIE.StartingBalance", + "UK.OBIE.TotalAdjustments", + "UK.OBIE.TotalCashAdvances", + "UK.OBIE.TotalCharges", + "UK.OBIE.TotalCredits", + "UK.OBIE.TotalDebits", + "UK.OBIE.TotalPurchases" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the amount type." + } + }, + "description": "Set of elements used to provide details of a generic amount for the statement resource." + } + }, + "StatementDateTime": { + "type": "array", + "items": { + "required": [ + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "DateTime": { + "type": "string", + "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Type": { + "type": "string", + "description": "Date time type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransferPromoEnd", + "UK.OBIE.DirectDebitDue", + "UK.OBIE.LastPayment", + "UK.OBIE.LastStatement", + "UK.OBIE.NextStatement", + "UK.OBIE.PaymentDue", + "UK.OBIE.PurchasePromoEnd", + "UK.OBIE.StatementAvailable" + ] + } + }, + "description": "Set of elements used to provide details of a generic date time for the statement resource." + } + }, + "StatementRate": { + "type": "array", + "items": { + "required": [ + "Rate", + "Type" + ], + "type": "object", + "properties": { + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the statement rate type." + }, + "Type": { + "type": "string", + "description": "Statement rate type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AnnualBalanceTransfer", + "UK.OBIE.AnnualBalanceTransferAfterPromo", + "UK.OBIE.AnnualBalanceTransferPromo", + "UK.OBIE.AnnualCash", + "UK.OBIE.AnnualPurchase", + "UK.OBIE.AnnualPurchaseAfterPromo", + "UK.OBIE.AnnualPurchasePromo", + "UK.OBIE.MonthlyBalanceTransfer", + "UK.OBIE.MonthlyCash", + "UK.OBIE.MonthlyPurchase" + ] + } + }, + "description": "Set of elements used to provide details of a generic rate related to the statement resource." + } + }, + "StatementValue": { + "type": "array", + "items": { + "required": [ + "Type", + "Value" + ], + "type": "object", + "properties": { + "Value": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Value associated with the statement value type." + }, + "Type": { + "type": "string", + "description": "Statement value type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AirMilesPoints", + "UK.OBIE.AirMilesPointsBalance", + "UK.OBIE.Credits", + "UK.OBIE.Debits", + "UK.OBIE.HotelPoints", + "UK.OBIE.HotelPointsBalance", + "UK.OBIE.RetailShoppingPoints", + "UK.OBIE.RetailShoppingPointsBalance" + ] + } + }, + "description": "Set of elements used to provide details of a generic number value related to the statement resource." + } + } + }, + "description": "Provides further details on a statement resource." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Statement": { + "type": "array", + "items": { + "required": [ + "AccountId", + "CreationDateTime", + "EndDateTime", + "StartDateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StatementId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable." + }, + "StatementReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + }, + "Type": { + "type": "string", + "description": "Statement type, in a coded form.", + "enum": [ + "AccountClosure", + "AccountOpening", + "Annual", + "Interim", + "RegularPeriodic" + ] + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatementDescription": { + "type": "array", + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Other descriptions that may be available for the statement resource." + } + }, + "StatementBenefit": { + "type": "array", + "items": { + "required": [ + "Amount", + "Type" + ], + "type": "object", + "properties": { + "Type": { + "type": "string", + "description": "Benefit type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Cashback", + "UK.OBIE.Insurance", + "UK.OBIE.TravelDiscount", + "UK.OBIE.TravelInsurance" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement benefit type." + } + }, + "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource." + } + }, + "StatementFee": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement fee." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Fee type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CashAdvance", + "UK.OBIE.CashTransaction", + "UK.OBIE.ForeignCashTransaction", + "UK.OBIE.ForeignTransaction", + "UK.OBIE.Gambling", + "UK.OBIE.LatePayment", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Monthly", + "UK.OBIE.Overlimit", + "UK.OBIE.PostalOrder", + "UK.OBIE.PrizeEntry", + "UK.OBIE.StatementCopy", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)" + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement fee rate type.", + "x-namespaced-enum": [ + "UK.OBIE.AER", + "UK.OBIE.EAR" + ] + }, + "Frequency": { + "type": "string", + "description": "How frequently the fee is applied to the Account.", + "x-namespaced-enum": [ + "UK.OBIE.ChargingPeriod", + "UK.OBIE.PerTransactionAmount", + "UK.OBIE.PerTransactionPercentage", + "UK.OBIE.Quarterly", + "UK.OBIE.StatementMonthly", + "UK.OBIE.Weekly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement fee type." + } + }, + "description": "Set of elements used to provide details of a fee for the statement resource." + } + }, + "StatementInterest": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement interest." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Interest amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransfer", + "UK.OBIE.Cash", + "UK.OBIE.EstimatedNext", + "UK.OBIE.Purchase", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary." + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement Interest rate type.", + "x-namespaced-enum": [ + "UK.OBIE.BOEBaseRate", + "UK.OBIE.FixedRate", + "UK.OBIE.Gross", + "UK.OBIE.LoanProviderBaseRate", + "UK.OBIE.Net" + ] + }, + "Frequency": { + "type": "string", + "description": "Specifies the statement fee type requested", + "x-namespaced-enum": [ + "UK.OBIE.Daily", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.PerStatementDate", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly", + "UK.OBIE.Yearly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement interest amount type." + } + }, + "description": "Set of elements used to provide details of a generic interest amount related to the statement resource." + } + }, + "StatementAmount": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.ArrearsClosingBalance", + "UK.OBIE.AvailableBalance", + "UK.OBIE.AverageBalanceWhenInCredit", + "UK.OBIE.AverageBalanceWhenInDebit", + "UK.OBIE.AverageDailyBalance", + "UK.OBIE.BalanceTransferClosingBalance", + "UK.OBIE.CashClosingBalance", + "UK.OBIE.ClosingBalance", + "UK.OBIE.CreditLimit", + "UK.OBIE.CurrentPayment", + "UK.OBIE.DirectDebitPaymentDue", + "UK.OBIE.FSCSInsurance", + "UK.OBIE.MinimumPaymentDue", + "UK.OBIE.PendingTransactionsBalance", + "UK.OBIE.PreviousClosingBalance", + "UK.OBIE.PreviousPayment", + "UK.OBIE.PurchaseClosingBalance", + "UK.OBIE.StartingBalance", + "UK.OBIE.TotalAdjustments", + "UK.OBIE.TotalCashAdvances", + "UK.OBIE.TotalCharges", + "UK.OBIE.TotalCredits", + "UK.OBIE.TotalDebits", + "UK.OBIE.TotalPurchases" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the amount type." + } + }, + "description": "Set of elements used to provide details of a generic amount for the statement resource." + } + }, + "StatementDateTime": { + "type": "array", + "items": { + "required": [ + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "DateTime": { + "type": "string", + "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Type": { + "type": "string", + "description": "Date time type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransferPromoEnd", + "UK.OBIE.DirectDebitDue", + "UK.OBIE.LastPayment", + "UK.OBIE.LastStatement", + "UK.OBIE.NextStatement", + "UK.OBIE.PaymentDue", + "UK.OBIE.PurchasePromoEnd", + "UK.OBIE.StatementAvailable" + ] + } + }, + "description": "Set of elements used to provide details of a generic date time for the statement resource." + } + }, + "StatementRate": { + "type": "array", + "items": { + "required": [ + "Rate", + "Type" + ], + "type": "object", + "properties": { + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the statement rate type." + }, + "Type": { + "type": "string", + "description": "Statement rate type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AnnualBalanceTransfer", + "UK.OBIE.AnnualBalanceTransferAfterPromo", + "UK.OBIE.AnnualBalanceTransferPromo", + "UK.OBIE.AnnualCash", + "UK.OBIE.AnnualPurchase", + "UK.OBIE.AnnualPurchaseAfterPromo", + "UK.OBIE.AnnualPurchasePromo", + "UK.OBIE.MonthlyBalanceTransfer", + "UK.OBIE.MonthlyCash", + "UK.OBIE.MonthlyPurchase" + ] + } + }, + "description": "Set of elements used to provide details of a generic rate related to the statement resource." + } + }, + "StatementValue": { + "type": "array", + "items": { + "required": [ + "Type", + "Value" + ], + "type": "object", + "properties": { + "Value": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Value associated with the statement value type." + }, + "Type": { + "type": "string", + "description": "Statement value type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AirMilesPoints", + "UK.OBIE.AirMilesPointsBalance", + "UK.OBIE.Credits", + "UK.OBIE.Debits", + "UK.OBIE.HotelPoints", + "UK.OBIE.HotelPointsBalance", + "UK.OBIE.RetailShoppingPoints", + "UK.OBIE.RetailShoppingPointsBalance" + ] + } + }, + "description": "Set of elements used to provide details of a generic number value related to the statement resource." + } + } + }, + "description": "Provides further details on a statement resource." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Statement": { + "type": "array", + "items": { + "required": [ + "AccountId", + "CreationDateTime", + "EndDateTime", + "StartDateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StatementId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable." + }, + "StatementReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + }, + "Type": { + "type": "string", + "description": "Statement type, in a coded form.", + "enum": [ + "AccountClosure", + "AccountOpening", + "Annual", + "Interim", + "RegularPeriodic" + ] + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatementDescription": { + "type": "array", + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Other descriptions that may be available for the statement resource." + } + }, + "StatementBenefit": { + "type": "array", + "items": { + "required": [ + "Amount", + "Type" + ], + "type": "object", + "properties": { + "Type": { + "type": "string", + "description": "Benefit type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Cashback", + "UK.OBIE.Insurance", + "UK.OBIE.TravelDiscount", + "UK.OBIE.TravelInsurance" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement benefit type." + } + }, + "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource." + } + }, + "StatementFee": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement fee." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Fee type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CashAdvance", + "UK.OBIE.CashTransaction", + "UK.OBIE.ForeignCashTransaction", + "UK.OBIE.ForeignTransaction", + "UK.OBIE.Gambling", + "UK.OBIE.LatePayment", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Monthly", + "UK.OBIE.Overlimit", + "UK.OBIE.PostalOrder", + "UK.OBIE.PrizeEntry", + "UK.OBIE.StatementCopy", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)" + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement fee rate type.", + "x-namespaced-enum": [ + "UK.OBIE.AER", + "UK.OBIE.EAR" + ] + }, + "Frequency": { + "type": "string", + "description": "How frequently the fee is applied to the Account.", + "x-namespaced-enum": [ + "UK.OBIE.ChargingPeriod", + "UK.OBIE.PerTransactionAmount", + "UK.OBIE.PerTransactionPercentage", + "UK.OBIE.Quarterly", + "UK.OBIE.StatementMonthly", + "UK.OBIE.Weekly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement fee type." + } + }, + "description": "Set of elements used to provide details of a fee for the statement resource." + } + }, + "StatementInterest": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement interest." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Interest amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransfer", + "UK.OBIE.Cash", + "UK.OBIE.EstimatedNext", + "UK.OBIE.Purchase", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary." + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement Interest rate type.", + "x-namespaced-enum": [ + "UK.OBIE.BOEBaseRate", + "UK.OBIE.FixedRate", + "UK.OBIE.Gross", + "UK.OBIE.LoanProviderBaseRate", + "UK.OBIE.Net" + ] + }, + "Frequency": { + "type": "string", + "description": "Specifies the statement fee type requested", + "x-namespaced-enum": [ + "UK.OBIE.Daily", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.PerStatementDate", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly", + "UK.OBIE.Yearly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement interest amount type." + } + }, + "description": "Set of elements used to provide details of a generic interest amount related to the statement resource." + } + }, + "StatementAmount": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.ArrearsClosingBalance", + "UK.OBIE.AvailableBalance", + "UK.OBIE.AverageBalanceWhenInCredit", + "UK.OBIE.AverageBalanceWhenInDebit", + "UK.OBIE.AverageDailyBalance", + "UK.OBIE.BalanceTransferClosingBalance", + "UK.OBIE.CashClosingBalance", + "UK.OBIE.ClosingBalance", + "UK.OBIE.CreditLimit", + "UK.OBIE.CurrentPayment", + "UK.OBIE.DirectDebitPaymentDue", + "UK.OBIE.FSCSInsurance", + "UK.OBIE.MinimumPaymentDue", + "UK.OBIE.PendingTransactionsBalance", + "UK.OBIE.PreviousClosingBalance", + "UK.OBIE.PreviousPayment", + "UK.OBIE.PurchaseClosingBalance", + "UK.OBIE.StartingBalance", + "UK.OBIE.TotalAdjustments", + "UK.OBIE.TotalCashAdvances", + "UK.OBIE.TotalCharges", + "UK.OBIE.TotalCredits", + "UK.OBIE.TotalDebits", + "UK.OBIE.TotalPurchases" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the amount type." + } + }, + "description": "Set of elements used to provide details of a generic amount for the statement resource." + } + }, + "StatementDateTime": { + "type": "array", + "items": { + "required": [ + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "DateTime": { + "type": "string", + "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Type": { + "type": "string", + "description": "Date time type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransferPromoEnd", + "UK.OBIE.DirectDebitDue", + "UK.OBIE.LastPayment", + "UK.OBIE.LastStatement", + "UK.OBIE.NextStatement", + "UK.OBIE.PaymentDue", + "UK.OBIE.PurchasePromoEnd", + "UK.OBIE.StatementAvailable" + ] + } + }, + "description": "Set of elements used to provide details of a generic date time for the statement resource." + } + }, + "StatementRate": { + "type": "array", + "items": { + "required": [ + "Rate", + "Type" + ], + "type": "object", + "properties": { + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the statement rate type." + }, + "Type": { + "type": "string", + "description": "Statement rate type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AnnualBalanceTransfer", + "UK.OBIE.AnnualBalanceTransferAfterPromo", + "UK.OBIE.AnnualBalanceTransferPromo", + "UK.OBIE.AnnualCash", + "UK.OBIE.AnnualPurchase", + "UK.OBIE.AnnualPurchaseAfterPromo", + "UK.OBIE.AnnualPurchasePromo", + "UK.OBIE.MonthlyBalanceTransfer", + "UK.OBIE.MonthlyCash", + "UK.OBIE.MonthlyPurchase" + ] + } + }, + "description": "Set of elements used to provide details of a generic rate related to the statement resource." + } + }, + "StatementValue": { + "type": "array", + "items": { + "required": [ + "Type", + "Value" + ], + "type": "object", + "properties": { + "Value": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Value associated with the statement value type." + }, + "Type": { + "type": "string", + "description": "Statement value type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AirMilesPoints", + "UK.OBIE.AirMilesPointsBalance", + "UK.OBIE.Credits", + "UK.OBIE.Debits", + "UK.OBIE.HotelPoints", + "UK.OBIE.HotelPointsBalance", + "UK.OBIE.RetailShoppingPoints", + "UK.OBIE.RetailShoppingPointsBalance" + ] + } + }, + "description": "Set of elements used to provide details of a generic number value related to the statement resource." + } + } + }, + "description": "Provides further details on a statement resource." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/statements/{StatementId}": { + "get": { + "tags": [ + "Statements" + ], + "summary": "Get Statements", + "operationId": "GetAccountsAccountIdStatementsStatementId", + "parameters": [ + { + "name": "StatementId", + "in": "path", + "description": "StatementId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Statements Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Statement": { + "type": "array", + "items": { + "required": [ + "AccountId", + "CreationDateTime", + "EndDateTime", + "StartDateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StatementId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable." + }, + "StatementReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + }, + "Type": { + "type": "string", + "description": "Statement type, in a coded form.", + "enum": [ + "AccountClosure", + "AccountOpening", + "Annual", + "Interim", + "RegularPeriodic" + ] + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatementDescription": { + "type": "array", + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Other descriptions that may be available for the statement resource." + } + }, + "StatementBenefit": { + "type": "array", + "items": { + "required": [ + "Amount", + "Type" + ], + "type": "object", + "properties": { + "Type": { + "type": "string", + "description": "Benefit type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Cashback", + "UK.OBIE.Insurance", + "UK.OBIE.TravelDiscount", + "UK.OBIE.TravelInsurance" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement benefit type." + } + }, + "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource." + } + }, + "StatementFee": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement fee." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Fee type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CashAdvance", + "UK.OBIE.CashTransaction", + "UK.OBIE.ForeignCashTransaction", + "UK.OBIE.ForeignTransaction", + "UK.OBIE.Gambling", + "UK.OBIE.LatePayment", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Monthly", + "UK.OBIE.Overlimit", + "UK.OBIE.PostalOrder", + "UK.OBIE.PrizeEntry", + "UK.OBIE.StatementCopy", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)" + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement fee rate type.", + "x-namespaced-enum": [ + "UK.OBIE.AER", + "UK.OBIE.EAR" + ] + }, + "Frequency": { + "type": "string", + "description": "How frequently the fee is applied to the Account.", + "x-namespaced-enum": [ + "UK.OBIE.ChargingPeriod", + "UK.OBIE.PerTransactionAmount", + "UK.OBIE.PerTransactionPercentage", + "UK.OBIE.Quarterly", + "UK.OBIE.StatementMonthly", + "UK.OBIE.Weekly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement fee type." + } + }, + "description": "Set of elements used to provide details of a fee for the statement resource." + } + }, + "StatementInterest": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement interest." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Interest amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransfer", + "UK.OBIE.Cash", + "UK.OBIE.EstimatedNext", + "UK.OBIE.Purchase", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary." + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement Interest rate type.", + "x-namespaced-enum": [ + "UK.OBIE.BOEBaseRate", + "UK.OBIE.FixedRate", + "UK.OBIE.Gross", + "UK.OBIE.LoanProviderBaseRate", + "UK.OBIE.Net" + ] + }, + "Frequency": { + "type": "string", + "description": "Specifies the statement fee type requested", + "x-namespaced-enum": [ + "UK.OBIE.Daily", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.PerStatementDate", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly", + "UK.OBIE.Yearly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement interest amount type." + } + }, + "description": "Set of elements used to provide details of a generic interest amount related to the statement resource." + } + }, + "StatementAmount": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.ArrearsClosingBalance", + "UK.OBIE.AvailableBalance", + "UK.OBIE.AverageBalanceWhenInCredit", + "UK.OBIE.AverageBalanceWhenInDebit", + "UK.OBIE.AverageDailyBalance", + "UK.OBIE.BalanceTransferClosingBalance", + "UK.OBIE.CashClosingBalance", + "UK.OBIE.ClosingBalance", + "UK.OBIE.CreditLimit", + "UK.OBIE.CurrentPayment", + "UK.OBIE.DirectDebitPaymentDue", + "UK.OBIE.FSCSInsurance", + "UK.OBIE.MinimumPaymentDue", + "UK.OBIE.PendingTransactionsBalance", + "UK.OBIE.PreviousClosingBalance", + "UK.OBIE.PreviousPayment", + "UK.OBIE.PurchaseClosingBalance", + "UK.OBIE.StartingBalance", + "UK.OBIE.TotalAdjustments", + "UK.OBIE.TotalCashAdvances", + "UK.OBIE.TotalCharges", + "UK.OBIE.TotalCredits", + "UK.OBIE.TotalDebits", + "UK.OBIE.TotalPurchases" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the amount type." + } + }, + "description": "Set of elements used to provide details of a generic amount for the statement resource." + } + }, + "StatementDateTime": { + "type": "array", + "items": { + "required": [ + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "DateTime": { + "type": "string", + "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Type": { + "type": "string", + "description": "Date time type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransferPromoEnd", + "UK.OBIE.DirectDebitDue", + "UK.OBIE.LastPayment", + "UK.OBIE.LastStatement", + "UK.OBIE.NextStatement", + "UK.OBIE.PaymentDue", + "UK.OBIE.PurchasePromoEnd", + "UK.OBIE.StatementAvailable" + ] + } + }, + "description": "Set of elements used to provide details of a generic date time for the statement resource." + } + }, + "StatementRate": { + "type": "array", + "items": { + "required": [ + "Rate", + "Type" + ], + "type": "object", + "properties": { + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the statement rate type." + }, + "Type": { + "type": "string", + "description": "Statement rate type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AnnualBalanceTransfer", + "UK.OBIE.AnnualBalanceTransferAfterPromo", + "UK.OBIE.AnnualBalanceTransferPromo", + "UK.OBIE.AnnualCash", + "UK.OBIE.AnnualPurchase", + "UK.OBIE.AnnualPurchaseAfterPromo", + "UK.OBIE.AnnualPurchasePromo", + "UK.OBIE.MonthlyBalanceTransfer", + "UK.OBIE.MonthlyCash", + "UK.OBIE.MonthlyPurchase" + ] + } + }, + "description": "Set of elements used to provide details of a generic rate related to the statement resource." + } + }, + "StatementValue": { + "type": "array", + "items": { + "required": [ + "Type", + "Value" + ], + "type": "object", + "properties": { + "Value": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Value associated with the statement value type." + }, + "Type": { + "type": "string", + "description": "Statement value type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AirMilesPoints", + "UK.OBIE.AirMilesPointsBalance", + "UK.OBIE.Credits", + "UK.OBIE.Debits", + "UK.OBIE.HotelPoints", + "UK.OBIE.HotelPointsBalance", + "UK.OBIE.RetailShoppingPoints", + "UK.OBIE.RetailShoppingPointsBalance" + ] + } + }, + "description": "Set of elements used to provide details of a generic number value related to the statement resource." + } + } + }, + "description": "Provides further details on a statement resource." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Statement": { + "type": "array", + "items": { + "required": [ + "AccountId", + "CreationDateTime", + "EndDateTime", + "StartDateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StatementId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable." + }, + "StatementReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + }, + "Type": { + "type": "string", + "description": "Statement type, in a coded form.", + "enum": [ + "AccountClosure", + "AccountOpening", + "Annual", + "Interim", + "RegularPeriodic" + ] + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatementDescription": { + "type": "array", + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Other descriptions that may be available for the statement resource." + } + }, + "StatementBenefit": { + "type": "array", + "items": { + "required": [ + "Amount", + "Type" + ], + "type": "object", + "properties": { + "Type": { + "type": "string", + "description": "Benefit type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Cashback", + "UK.OBIE.Insurance", + "UK.OBIE.TravelDiscount", + "UK.OBIE.TravelInsurance" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement benefit type." + } + }, + "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource." + } + }, + "StatementFee": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement fee." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Fee type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CashAdvance", + "UK.OBIE.CashTransaction", + "UK.OBIE.ForeignCashTransaction", + "UK.OBIE.ForeignTransaction", + "UK.OBIE.Gambling", + "UK.OBIE.LatePayment", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Monthly", + "UK.OBIE.Overlimit", + "UK.OBIE.PostalOrder", + "UK.OBIE.PrizeEntry", + "UK.OBIE.StatementCopy", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)" + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement fee rate type.", + "x-namespaced-enum": [ + "UK.OBIE.AER", + "UK.OBIE.EAR" + ] + }, + "Frequency": { + "type": "string", + "description": "How frequently the fee is applied to the Account.", + "x-namespaced-enum": [ + "UK.OBIE.ChargingPeriod", + "UK.OBIE.PerTransactionAmount", + "UK.OBIE.PerTransactionPercentage", + "UK.OBIE.Quarterly", + "UK.OBIE.StatementMonthly", + "UK.OBIE.Weekly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement fee type." + } + }, + "description": "Set of elements used to provide details of a fee for the statement resource." + } + }, + "StatementInterest": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement interest." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Interest amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransfer", + "UK.OBIE.Cash", + "UK.OBIE.EstimatedNext", + "UK.OBIE.Purchase", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary." + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement Interest rate type.", + "x-namespaced-enum": [ + "UK.OBIE.BOEBaseRate", + "UK.OBIE.FixedRate", + "UK.OBIE.Gross", + "UK.OBIE.LoanProviderBaseRate", + "UK.OBIE.Net" + ] + }, + "Frequency": { + "type": "string", + "description": "Specifies the statement fee type requested", + "x-namespaced-enum": [ + "UK.OBIE.Daily", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.PerStatementDate", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly", + "UK.OBIE.Yearly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement interest amount type." + } + }, + "description": "Set of elements used to provide details of a generic interest amount related to the statement resource." + } + }, + "StatementAmount": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.ArrearsClosingBalance", + "UK.OBIE.AvailableBalance", + "UK.OBIE.AverageBalanceWhenInCredit", + "UK.OBIE.AverageBalanceWhenInDebit", + "UK.OBIE.AverageDailyBalance", + "UK.OBIE.BalanceTransferClosingBalance", + "UK.OBIE.CashClosingBalance", + "UK.OBIE.ClosingBalance", + "UK.OBIE.CreditLimit", + "UK.OBIE.CurrentPayment", + "UK.OBIE.DirectDebitPaymentDue", + "UK.OBIE.FSCSInsurance", + "UK.OBIE.MinimumPaymentDue", + "UK.OBIE.PendingTransactionsBalance", + "UK.OBIE.PreviousClosingBalance", + "UK.OBIE.PreviousPayment", + "UK.OBIE.PurchaseClosingBalance", + "UK.OBIE.StartingBalance", + "UK.OBIE.TotalAdjustments", + "UK.OBIE.TotalCashAdvances", + "UK.OBIE.TotalCharges", + "UK.OBIE.TotalCredits", + "UK.OBIE.TotalDebits", + "UK.OBIE.TotalPurchases" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the amount type." + } + }, + "description": "Set of elements used to provide details of a generic amount for the statement resource." + } + }, + "StatementDateTime": { + "type": "array", + "items": { + "required": [ + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "DateTime": { + "type": "string", + "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Type": { + "type": "string", + "description": "Date time type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransferPromoEnd", + "UK.OBIE.DirectDebitDue", + "UK.OBIE.LastPayment", + "UK.OBIE.LastStatement", + "UK.OBIE.NextStatement", + "UK.OBIE.PaymentDue", + "UK.OBIE.PurchasePromoEnd", + "UK.OBIE.StatementAvailable" + ] + } + }, + "description": "Set of elements used to provide details of a generic date time for the statement resource." + } + }, + "StatementRate": { + "type": "array", + "items": { + "required": [ + "Rate", + "Type" + ], + "type": "object", + "properties": { + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the statement rate type." + }, + "Type": { + "type": "string", + "description": "Statement rate type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AnnualBalanceTransfer", + "UK.OBIE.AnnualBalanceTransferAfterPromo", + "UK.OBIE.AnnualBalanceTransferPromo", + "UK.OBIE.AnnualCash", + "UK.OBIE.AnnualPurchase", + "UK.OBIE.AnnualPurchaseAfterPromo", + "UK.OBIE.AnnualPurchasePromo", + "UK.OBIE.MonthlyBalanceTransfer", + "UK.OBIE.MonthlyCash", + "UK.OBIE.MonthlyPurchase" + ] + } + }, + "description": "Set of elements used to provide details of a generic rate related to the statement resource." + } + }, + "StatementValue": { + "type": "array", + "items": { + "required": [ + "Type", + "Value" + ], + "type": "object", + "properties": { + "Value": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Value associated with the statement value type." + }, + "Type": { + "type": "string", + "description": "Statement value type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AirMilesPoints", + "UK.OBIE.AirMilesPointsBalance", + "UK.OBIE.Credits", + "UK.OBIE.Debits", + "UK.OBIE.HotelPoints", + "UK.OBIE.HotelPointsBalance", + "UK.OBIE.RetailShoppingPoints", + "UK.OBIE.RetailShoppingPointsBalance" + ] + } + }, + "description": "Set of elements used to provide details of a generic number value related to the statement resource." + } + } + }, + "description": "Provides further details on a statement resource." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Statement": { + "type": "array", + "items": { + "required": [ + "AccountId", + "CreationDateTime", + "EndDateTime", + "StartDateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StatementId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable." + }, + "StatementReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + }, + "Type": { + "type": "string", + "description": "Statement type, in a coded form.", + "enum": [ + "AccountClosure", + "AccountOpening", + "Annual", + "Interim", + "RegularPeriodic" + ] + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatementDescription": { + "type": "array", + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Other descriptions that may be available for the statement resource." + } + }, + "StatementBenefit": { + "type": "array", + "items": { + "required": [ + "Amount", + "Type" + ], + "type": "object", + "properties": { + "Type": { + "type": "string", + "description": "Benefit type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Cashback", + "UK.OBIE.Insurance", + "UK.OBIE.TravelDiscount", + "UK.OBIE.TravelInsurance" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement benefit type." + } + }, + "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource." + } + }, + "StatementFee": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement fee." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Fee type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CashAdvance", + "UK.OBIE.CashTransaction", + "UK.OBIE.ForeignCashTransaction", + "UK.OBIE.ForeignTransaction", + "UK.OBIE.Gambling", + "UK.OBIE.LatePayment", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Monthly", + "UK.OBIE.Overlimit", + "UK.OBIE.PostalOrder", + "UK.OBIE.PrizeEntry", + "UK.OBIE.StatementCopy", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)" + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement fee rate type.", + "x-namespaced-enum": [ + "UK.OBIE.AER", + "UK.OBIE.EAR" + ] + }, + "Frequency": { + "type": "string", + "description": "How frequently the fee is applied to the Account.", + "x-namespaced-enum": [ + "UK.OBIE.ChargingPeriod", + "UK.OBIE.PerTransactionAmount", + "UK.OBIE.PerTransactionPercentage", + "UK.OBIE.Quarterly", + "UK.OBIE.StatementMonthly", + "UK.OBIE.Weekly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement fee type." + } + }, + "description": "Set of elements used to provide details of a fee for the statement resource." + } + }, + "StatementInterest": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement interest." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Interest amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransfer", + "UK.OBIE.Cash", + "UK.OBIE.EstimatedNext", + "UK.OBIE.Purchase", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary." + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement Interest rate type.", + "x-namespaced-enum": [ + "UK.OBIE.BOEBaseRate", + "UK.OBIE.FixedRate", + "UK.OBIE.Gross", + "UK.OBIE.LoanProviderBaseRate", + "UK.OBIE.Net" + ] + }, + "Frequency": { + "type": "string", + "description": "Specifies the statement fee type requested", + "x-namespaced-enum": [ + "UK.OBIE.Daily", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.PerStatementDate", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly", + "UK.OBIE.Yearly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement interest amount type." + } + }, + "description": "Set of elements used to provide details of a generic interest amount related to the statement resource." + } + }, + "StatementAmount": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.ArrearsClosingBalance", + "UK.OBIE.AvailableBalance", + "UK.OBIE.AverageBalanceWhenInCredit", + "UK.OBIE.AverageBalanceWhenInDebit", + "UK.OBIE.AverageDailyBalance", + "UK.OBIE.BalanceTransferClosingBalance", + "UK.OBIE.CashClosingBalance", + "UK.OBIE.ClosingBalance", + "UK.OBIE.CreditLimit", + "UK.OBIE.CurrentPayment", + "UK.OBIE.DirectDebitPaymentDue", + "UK.OBIE.FSCSInsurance", + "UK.OBIE.MinimumPaymentDue", + "UK.OBIE.PendingTransactionsBalance", + "UK.OBIE.PreviousClosingBalance", + "UK.OBIE.PreviousPayment", + "UK.OBIE.PurchaseClosingBalance", + "UK.OBIE.StartingBalance", + "UK.OBIE.TotalAdjustments", + "UK.OBIE.TotalCashAdvances", + "UK.OBIE.TotalCharges", + "UK.OBIE.TotalCredits", + "UK.OBIE.TotalDebits", + "UK.OBIE.TotalPurchases" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "minItems": 1 + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the amount type." + } + }, + "description": "Set of elements used to provide details of a generic amount for the statement resource." + } + }, + "StatementDateTime": { + "type": "array", + "items": { + "required": [ + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "DateTime": { + "type": "string", + "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Type": { + "type": "string", + "description": "Date time type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransferPromoEnd", + "UK.OBIE.DirectDebitDue", + "UK.OBIE.LastPayment", + "UK.OBIE.LastStatement", + "UK.OBIE.NextStatement", + "UK.OBIE.PaymentDue", + "UK.OBIE.PurchasePromoEnd", + "UK.OBIE.StatementAvailable" + ] + } + }, + "description": "Set of elements used to provide details of a generic date time for the statement resource." + } + }, + "StatementRate": { + "type": "array", + "items": { + "required": [ + "Rate", + "Type" + ], + "type": "object", + "properties": { + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the statement rate type." + }, + "Type": { + "type": "string", + "description": "Statement rate type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AnnualBalanceTransfer", + "UK.OBIE.AnnualBalanceTransferAfterPromo", + "UK.OBIE.AnnualBalanceTransferPromo", + "UK.OBIE.AnnualCash", + "UK.OBIE.AnnualPurchase", + "UK.OBIE.AnnualPurchaseAfterPromo", + "UK.OBIE.AnnualPurchasePromo", + "UK.OBIE.MonthlyBalanceTransfer", + "UK.OBIE.MonthlyCash", + "UK.OBIE.MonthlyPurchase" + ] + } + }, + "description": "Set of elements used to provide details of a generic rate related to the statement resource." + } + }, + "StatementValue": { + "type": "array", + "items": { + "required": [ + "Type", + "Value" + ], + "type": "object", + "properties": { + "Value": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Value associated with the statement value type." + }, + "Type": { + "type": "string", + "description": "Statement value type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AirMilesPoints", + "UK.OBIE.AirMilesPointsBalance", + "UK.OBIE.Credits", + "UK.OBIE.Debits", + "UK.OBIE.HotelPoints", + "UK.OBIE.HotelPointsBalance", + "UK.OBIE.RetailShoppingPoints", + "UK.OBIE.RetailShoppingPointsBalance" + ] + } + }, + "description": "Set of elements used to provide details of a generic number value related to the statement resource." + } + } + }, + "description": "Provides further details on a statement resource." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/statements/{StatementId}/file": { + "get": { + "tags": [ + "Statements" + ], + "summary": "Get Statements", + "operationId": "GetAccountsAccountIdStatementsStatementIdFile", + "parameters": [ + { + "name": "StatementId", + "in": "path", + "description": "StatementId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Statements Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "type": "object" + } + }, + "application/json": { + "schema": { + "type": "object" + } + }, + "application/jose+jwe": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/statements/{StatementId}/transactions": { + "get": { + "tags": [ + "Transactions" + ], + "summary": "Get Transactions", + "operationId": "GetAccountsAccountIdStatementsStatementIdTransactions", + "parameters": [ + { + "name": "StatementId", + "in": "path", + "description": "StatementId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Transactions Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Transaction": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Amount", + "BookingDateTime", + "CreditDebitIndicator", + "Status" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "TransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "TransactionReference": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context." + }, + "StatementReference": { + "type": "array", + "items": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + } + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the transaction is a credit or a debit entry.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Status": { + "type": "string", + "description": "Status of a transaction entry on the books of the account servicer.", + "enum": [ + "Booked", + "Pending" + ] + }, + "TransactionMutability": { + "type": "string", + "description": "Specifies the Mutability of the Transaction record.", + "enum": [ + "Mutable", + "Immutable" + ] + }, + "BookingDateTime": { + "type": "string", + "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ValueDateTime": { + "type": "string", + "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionInformation": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text." + }, + "AddressLine": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text." + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money in the cash transaction entry." + }, + "ChargeAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Transaction charges to be paid by the charge bearer." + }, + "CurrencyExchange": { + "required": [ + "ExchangeRate", + "SourceCurrency" + ], + "type": "object", + "properties": { + "SourceCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency from which an amount is to be converted in a currency conversion." + }, + "TargetCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency into which an amount is to be converted in a currency conversion." + }, + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency)." + }, + "ContractIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification to unambiguously identify the foreign exchange contract." + }, + "QuotationDate": { + "type": "string", + "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party." + } + }, + "description": "Set of elements used to provide details on the currency exchange." + }, + "BankTransactionCode": { + "required": [ + "Code", + "SubCode" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the family within a domain." + }, + "SubCode": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the sub-product family within a specific family." + } + }, + "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry." + }, + "ProprietaryBankTransactionCode": { + "required": [ + "Code" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Proprietary bank transaction code to identify the underlying transaction." + }, + "Issuer": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identification of the issuer of the proprietary bank transaction code." + } + }, + "description": "Set of elements to fully identify a proprietary bank transaction code." + }, + "Balance": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the cash balance after a transaction entry is applied to the account.." + } + }, + "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account." + }, + "MerchantDetails": { + "type": "object", + "properties": { + "MerchantName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which the merchant is known." + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + } + }, + "description": "Details of the merchant involved in the transaction." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction." + }, + "DebtorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the debtor." + }, + "DebtorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction." + }, + "CardInstrument": { + "required": [ + "CardSchemeName" + ], + "type": "object", + "properties": { + "CardSchemeName": { + "type": "string", + "description": "Name of the card scheme.", + "enum": [ + "AmericanExpress", + "Diners", + "Discover", + "MasterCard", + "VISA" + ] + }, + "AuthorisationType": { + "type": "string", + "description": "The card authorisation type.", + "enum": [ + "ConsumerDevice", + "Contactless", + "None", + "PIN" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of the cardholder using the card instrument." + }, + "Identification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked." + } + }, + "description": "Set of elements to describe the card instrument used in the transaction." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "Provides further details on an entry in the report." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Transaction": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Amount", + "BookingDateTime", + "CreditDebitIndicator", + "Status" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "TransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "TransactionReference": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context." + }, + "StatementReference": { + "type": "array", + "items": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + } + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the transaction is a credit or a debit entry.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Status": { + "type": "string", + "description": "Status of a transaction entry on the books of the account servicer.", + "enum": [ + "Booked", + "Pending" + ] + }, + "TransactionMutability": { + "type": "string", + "description": "Specifies the Mutability of the Transaction record.", + "enum": [ + "Mutable", + "Immutable" + ] + }, + "BookingDateTime": { + "type": "string", + "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ValueDateTime": { + "type": "string", + "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionInformation": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text." + }, + "AddressLine": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text." + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money in the cash transaction entry." + }, + "ChargeAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Transaction charges to be paid by the charge bearer." + }, + "CurrencyExchange": { + "required": [ + "ExchangeRate", + "SourceCurrency" + ], + "type": "object", + "properties": { + "SourceCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency from which an amount is to be converted in a currency conversion." + }, + "TargetCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency into which an amount is to be converted in a currency conversion." + }, + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency)." + }, + "ContractIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification to unambiguously identify the foreign exchange contract." + }, + "QuotationDate": { + "type": "string", + "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party." + } + }, + "description": "Set of elements used to provide details on the currency exchange." + }, + "BankTransactionCode": { + "required": [ + "Code", + "SubCode" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the family within a domain." + }, + "SubCode": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the sub-product family within a specific family." + } + }, + "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry." + }, + "ProprietaryBankTransactionCode": { + "required": [ + "Code" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Proprietary bank transaction code to identify the underlying transaction." + }, + "Issuer": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identification of the issuer of the proprietary bank transaction code." + } + }, + "description": "Set of elements to fully identify a proprietary bank transaction code." + }, + "Balance": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the cash balance after a transaction entry is applied to the account.." + } + }, + "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account." + }, + "MerchantDetails": { + "type": "object", + "properties": { + "MerchantName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which the merchant is known." + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + } + }, + "description": "Details of the merchant involved in the transaction." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction." + }, + "DebtorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the debtor." + }, + "DebtorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction." + }, + "CardInstrument": { + "required": [ + "CardSchemeName" + ], + "type": "object", + "properties": { + "CardSchemeName": { + "type": "string", + "description": "Name of the card scheme.", + "enum": [ + "AmericanExpress", + "Diners", + "Discover", + "MasterCard", + "VISA" + ] + }, + "AuthorisationType": { + "type": "string", + "description": "The card authorisation type.", + "enum": [ + "ConsumerDevice", + "Contactless", + "None", + "PIN" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of the cardholder using the card instrument." + }, + "Identification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked." + } + }, + "description": "Set of elements to describe the card instrument used in the transaction." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "Provides further details on an entry in the report." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Transaction": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Amount", + "BookingDateTime", + "CreditDebitIndicator", + "Status" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "TransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "TransactionReference": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context." + }, + "StatementReference": { + "type": "array", + "items": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + } + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the transaction is a credit or a debit entry.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Status": { + "type": "string", + "description": "Status of a transaction entry on the books of the account servicer.", + "enum": [ + "Booked", + "Pending" + ] + }, + "TransactionMutability": { + "type": "string", + "description": "Specifies the Mutability of the Transaction record.", + "enum": [ + "Mutable", + "Immutable" + ] + }, + "BookingDateTime": { + "type": "string", + "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ValueDateTime": { + "type": "string", + "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionInformation": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text." + }, + "AddressLine": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text." + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money in the cash transaction entry." + }, + "ChargeAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Transaction charges to be paid by the charge bearer." + }, + "CurrencyExchange": { + "required": [ + "ExchangeRate", + "SourceCurrency" + ], + "type": "object", + "properties": { + "SourceCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency from which an amount is to be converted in a currency conversion." + }, + "TargetCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency into which an amount is to be converted in a currency conversion." + }, + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency)." + }, + "ContractIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification to unambiguously identify the foreign exchange contract." + }, + "QuotationDate": { + "type": "string", + "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party." + } + }, + "description": "Set of elements used to provide details on the currency exchange." + }, + "BankTransactionCode": { + "required": [ + "Code", + "SubCode" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the family within a domain." + }, + "SubCode": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the sub-product family within a specific family." + } + }, + "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry." + }, + "ProprietaryBankTransactionCode": { + "required": [ + "Code" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Proprietary bank transaction code to identify the underlying transaction." + }, + "Issuer": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identification of the issuer of the proprietary bank transaction code." + } + }, + "description": "Set of elements to fully identify a proprietary bank transaction code." + }, + "Balance": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the cash balance after a transaction entry is applied to the account.." + } + }, + "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account." + }, + "MerchantDetails": { + "type": "object", + "properties": { + "MerchantName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which the merchant is known." + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + } + }, + "description": "Details of the merchant involved in the transaction." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction." + }, + "DebtorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the debtor." + }, + "DebtorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction." + }, + "CardInstrument": { + "required": [ + "CardSchemeName" + ], + "type": "object", + "properties": { + "CardSchemeName": { + "type": "string", + "description": "Name of the card scheme.", + "enum": [ + "AmericanExpress", + "Diners", + "Discover", + "MasterCard", + "VISA" + ] + }, + "AuthorisationType": { + "type": "string", + "description": "The card authorisation type.", + "enum": [ + "ConsumerDevice", + "Contactless", + "None", + "PIN" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of the cardholder using the card instrument." + }, + "Identification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked." + } + }, + "description": "Set of elements to describe the card instrument used in the transaction." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "Provides further details on an entry in the report." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/accounts/{AccountId}/transactions": { + "get": { + "tags": [ + "Transactions" + ], + "summary": "Get Transactions", + "operationId": "GetAccountsAccountIdTransactions", + "parameters": [ + { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + }, + { + "name": "fromBookingDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter transactions FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "toBookingDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter transactions TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "responses": { + "200": { + "description": "Transactions Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Transaction": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Amount", + "BookingDateTime", + "CreditDebitIndicator", + "Status" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "TransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "TransactionReference": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context." + }, + "StatementReference": { + "type": "array", + "items": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + } + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the transaction is a credit or a debit entry.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Status": { + "type": "string", + "description": "Status of a transaction entry on the books of the account servicer.", + "enum": [ + "Booked", + "Pending" + ] + }, + "TransactionMutability": { + "type": "string", + "description": "Specifies the Mutability of the Transaction record.", + "enum": [ + "Mutable", + "Immutable" + ] + }, + "BookingDateTime": { + "type": "string", + "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ValueDateTime": { + "type": "string", + "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionInformation": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text." + }, + "AddressLine": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text." + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money in the cash transaction entry." + }, + "ChargeAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Transaction charges to be paid by the charge bearer." + }, + "CurrencyExchange": { + "required": [ + "ExchangeRate", + "SourceCurrency" + ], + "type": "object", + "properties": { + "SourceCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency from which an amount is to be converted in a currency conversion." + }, + "TargetCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency into which an amount is to be converted in a currency conversion." + }, + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency)." + }, + "ContractIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification to unambiguously identify the foreign exchange contract." + }, + "QuotationDate": { + "type": "string", + "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party." + } + }, + "description": "Set of elements used to provide details on the currency exchange." + }, + "BankTransactionCode": { + "required": [ + "Code", + "SubCode" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the family within a domain." + }, + "SubCode": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the sub-product family within a specific family." + } + }, + "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry." + }, + "ProprietaryBankTransactionCode": { + "required": [ + "Code" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Proprietary bank transaction code to identify the underlying transaction." + }, + "Issuer": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identification of the issuer of the proprietary bank transaction code." + } + }, + "description": "Set of elements to fully identify a proprietary bank transaction code." + }, + "Balance": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the cash balance after a transaction entry is applied to the account.." + } + }, + "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account." + }, + "MerchantDetails": { + "type": "object", + "properties": { + "MerchantName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which the merchant is known." + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + } + }, + "description": "Details of the merchant involved in the transaction." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } }, - "additionalProperties": false, - "required": [ - "OverdraftTierBandSet" + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] }, - "OtherFeesCharges": { - "description": "Contains details of fees and charges which are not associated with either borrowing or features/benefits", - "type": "object", - "title": "OtherFeesCharges", - "properties": { - "FeeChargeDetail": { - "description": "Other fees/charges details", - "type": "array", - "title": "FeeChargeDetail", - "items": { - "description": "Other fees/charges details", - "type": "object", - "properties": { - "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", - "title": "FeeCategory", - "type": "string", - "enum": [ - "Other", - "Servicing" - ] - }, - "FeeType": { - "description": "Fee/Charge Type", - "title": "FeeType", - "type": "string", - "enum": [ - "ServiceCAccountFee", - "ServiceCAccountFeeMonthly", - "ServiceCOther", - "Other" - ] - }, - "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", - "title": "FeeAmount", - "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" - }, - "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", - "title": "FeeRate", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - }, - "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", - "title": "FeeRateType", - "type": "string", - "enum": [ - "LinkedBaseRate", - "Gross", - "Net", - "Other" - ] - }, - "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", - "title": "ApplicationFrequency", - "type": "string", - "enum": [ - "AccountClosing", - "AccountOpening", - "AcademicTerm", - "ChargingPeriod", - "Daily", - "PerItem", - "Monthly", - "OnAccountAnniversary", - "Other", - "PerHour", - "PerOccurrence", - "PerSheet", - "PerTransaction", - "PerTransactionAmount", - "PerTransactionPercentage", - "Quarterly", - "SixMonthly", - "StatementMonthly", - "Weekly", - "Yearly" - ] - }, - "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", - "title": "CalculationFrequency", - "type": "string", - "enum": [ - "AccountClosing", - "AccountOpening", - "AcademicTerm", - "ChargingPeriod", - "Daily", - "PerItem", - "Monthly", - "OnAccountAnniversary", - "Other", - "PerHour", - "PerOccurrence", - "PerSheet", - "PerTransaction", - "PerTransactionAmount", - "PerTransactionPercentage", - "Quarterly", - "SixMonthly", - "StatementMonthly", - "Weekly", - "Yearly" - ] - }, - "Notes": { - "description": "Optional additional notes to supplement the fee/charge details.", - "title": "Notes", - "type": "array", - "items": { - "description": "maxLength 2000 text", - "type": "string", - "minLength": 1, - "maxLength": 2000 - } - }, - "OtherFeeCategoryType": { - "type": "object", - "title": "OtherFeeCategoryType", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] - }, - "OtherFeeType": { - "description": "Other Fee/charge type which is not available in the standard code set", - "type": "object", - "title": "OtherFeeType", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", - "title": "FeeCategory", - "type": "string", - "enum": [ - "Other", - "Servicing" - ] - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false, - "required": [ - "FeeCategory", - "Name", - "Description" - ] - }, - "OtherFeeRateType": { - "description": "Other fee rate type which is not available in the standard code set", - "type": "object", - "title": "OtherFeeRateType", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] - }, - "OtherApplicationFrequency": { - "description": "Other application frequencies not covered in the standard code list", - "type": "object", - "title": "OtherApplicationFrequency", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] - }, - "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in standard code set.", - "type": "object", - "title": "OtherCalculationFrequency", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] - }, - "FeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "array", - "title": "FeeChargeCap", - "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "object", - "properties": { - "FeeType": { - "description": "Fee/charge type which is being capped", - "title": "FeeType", - "type": "array", - "items": { - "description": "Fee/charge type which is being capped", - "type": "string", - "enum": [ - "ServiceCAccountFee", - "ServiceCAccountFeeMonthly", - "ServiceCOther", - "Other" - ] - }, - "minItems": 1 - }, - "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", - "title": "MinMaxType", - "type": "string", - "enum": [ - "Minimum", - "Maximum" - ] - }, - "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "title": "FeeCapOccurrence", - "type": "number", - "format": "float" - }, - "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", - "title": "FeeCapAmount", - "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" - }, - "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", - "title": "CappingPeriod", - "type": "string", - "enum": [ - "AcademicTerm", - "Day", - "Half Year", - "Month", - "Quarter", - "Week", - "Year" - ] - }, - "Notes": { - "description": "Free text for adding extra details for fee charge cap", - "title": "Notes", - "type": "array", - "items": { - "description": "maxLength 2000 text", - "type": "string", - "minLength": 1, - "maxLength": 2000 - } - }, - "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", - "title": "OtherFeeType", - "items": { - "description": "Other fee type code which is not available in the standard code set", - "type": "object", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "required": [ - "Name", - "Description" - ] - } - } - }, - "required": [ - "FeeType", - "MinMaxType" - ] - } - }, - "FeeApplicableRange": { - "description": "Range or amounts or rates for which the fee/charge applies", - "type": "object", - "title": "FeeApplicableRange", - "properties": { - "MinimumAmount": { - "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)", - "title": "MinimumAmount", - "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" - }, - "MaximumAmount": { - "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)", - "title": "MaximumAmount", - "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" - }, - "MinimumRate": { - "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)", - "title": "MinimumRate", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - }, - "MaximumRate": { - "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)", - "title": "MaximumRate", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - } - }, - "additionalProperties": false - } - }, - "required": [ - "FeeCategory", - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 - }, - "FeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "array", - "title": "FeeChargeCap", - "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "object", - "properties": { - "FeeType": { - "description": "Fee/charge type which is being capped", - "title": "FeeType", - "type": "array", - "items": { - "description": "Fee/charge type which is being capped", - "type": "string", - "enum": [ - "ServiceCAccountFee", - "ServiceCAccountFeeMonthly", - "ServiceCOther", - "Other" - ] - }, - "minItems": 1 - }, - "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", - "title": "MinMaxType", - "type": "string", - "enum": [ - "Minimum", - "Maximum" - ] - }, - "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "title": "FeeCapOccurrence", - "type": "number", - "format": "float" - }, - "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", - "title": "FeeCapAmount", - "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" - }, - "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", - "title": "CappingPeriod", - "type": "string", - "enum": [ - "AcademicTerm", - "Day", - "Half Year", - "Month", - "Quarter", - "Week", - "Year" - ] - }, - "Notes": { - "description": "Free text for adding extra details for fee charge cap", - "title": "Notes", - "type": "array", - "items": { - "description": "maxLength 2000 text", - "type": "string", - "minLength": 1, - "maxLength": 2000 - } - }, - "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", - "title": "OtherFeeType", - "items": { - "description": "Other fee type code which is not available in the standard code set", - "type": "object", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "required": [ - "Name", - "Description" - ] - } - } - }, - "required": [ - "FeeType", - "MinMaxType" - ] + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction." + }, + "DebtorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." } } }, - "additionalProperties": false, - "required": [ - "FeeChargeDetail" + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the debtor." + }, + "DebtorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction." + }, + "CardInstrument": { + "required": [ + "CardSchemeName" + ], + "type": "object", + "properties": { + "CardSchemeName": { + "type": "string", + "description": "Name of the card scheme.", + "enum": [ + "AmericanExpress", + "Diners", + "Discover", + "MasterCard", + "VISA" + ] + }, + "AuthorisationType": { + "type": "string", + "description": "The card authorisation type.", + "enum": [ + "ConsumerDevice", + "Contactless", + "None", + "PIN" ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of the cardholder using the card instrument." + }, + "Identification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked." } }, - "additionalProperties": false + "description": "Set of elements to describe the card instrument used in the transaction." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "Provides further details on an entry in the report." } } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -15642,736 +56172,1374 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, "required": [ - "Code", - "Message", - "Errors" + "Data" ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "Data": { + "type": "object", + "properties": { + "Transaction": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Amount", + "BookingDateTime", + "CreditDebitIndicator", + "Status" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "TransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "TransactionReference": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context." + }, + "StatementReference": { + "type": "array", + "items": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + } + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the transaction is a credit or a debit entry.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Status": { + "type": "string", + "description": "Status of a transaction entry on the books of the account servicer.", + "enum": [ + "Booked", + "Pending" + ] + }, + "TransactionMutability": { + "type": "string", + "description": "Specifies the Mutability of the Transaction record.", + "enum": [ + "Mutable", + "Immutable" + ] + }, + "BookingDateTime": { + "type": "string", + "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ValueDateTime": { + "type": "string", + "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionInformation": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text." + }, + "AddressLine": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text." + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money in the cash transaction entry." + }, + "ChargeAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Transaction charges to be paid by the charge bearer." + }, + "CurrencyExchange": { + "required": [ + "ExchangeRate", + "SourceCurrency" + ], + "type": "object", + "properties": { + "SourceCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency from which an amount is to be converted in a currency conversion." + }, + "TargetCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency into which an amount is to be converted in a currency conversion." + }, + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency)." + }, + "ContractIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification to unambiguously identify the foreign exchange contract." + }, + "QuotationDate": { + "type": "string", + "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party." + } + }, + "description": "Set of elements used to provide details on the currency exchange." + }, + "BankTransactionCode": { + "required": [ + "Code", + "SubCode" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the family within a domain." + }, + "SubCode": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the sub-product family within a specific family." + } + }, + "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry." + }, + "ProprietaryBankTransactionCode": { + "required": [ + "Code" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Proprietary bank transaction code to identify the underlying transaction." + }, + "Issuer": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identification of the issuer of the proprietary bank transaction code." + } + }, + "description": "Set of elements to fully identify a proprietary bank transaction code." + }, + "Balance": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the cash balance after a transaction entry is applied to the account.." + } + }, + "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account." + }, + "MerchantDetails": { + "type": "object", + "properties": { + "MerchantName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which the merchant is known." + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + } + }, + "description": "Details of the merchant involved in the transaction." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction." + }, + "DebtorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the debtor." + }, + "DebtorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction." + }, + "CardInstrument": { + "required": [ + "CardSchemeName" + ], + "type": "object", + "properties": { + "CardSchemeName": { + "type": "string", + "description": "Name of the card scheme.", + "enum": [ + "AmericanExpress", + "Diners", + "Discover", + "MasterCard", + "VISA" + ] + }, + "AuthorisationType": { + "type": "string", + "description": "The card authorisation type.", + "enum": [ + "ConsumerDevice", + "Contactless", + "None", + "PIN" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of the cardholder using the card instrument." + }, + "Identification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked." + } + }, + "description": "Set of elements to describe the card instrument used in the transaction." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "Provides further details on an entry in the report." } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 + "description": "Links relevant to the payload" }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } }, - "type": "array", - "minItems": 1 + "description": "Meta Data relevant to the payload" } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/accounts/{AccountId}/scheduled-payments": { - "get": { - "tags": [ - "Scheduled Payments" - ], - "summary": "Get Scheduled Payments", - "operationId": "GetAccountsAccountIdScheduledPayments", - "parameters": [ - { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Scheduled Payments Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } - } - }, - "content": { - "application/json": { + }, + "application/jose+jwe": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", "properties": { - "ScheduledPayment": { + "Transaction": { "type": "array", "items": { - "oneOf": [ - { + "required": [ + "AccountId", + "Amount", + "BookingDateTime", + "CreditDebitIndicator", + "Status" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "TransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "TransactionReference": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context." + }, + "StatementReference": { + "type": "array", + "items": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + } + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the transaction is a credit or a debit entry.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Status": { + "type": "string", + "description": "Status of a transaction entry on the books of the account servicer.", + "enum": [ + "Booked", + "Pending" + ] + }, + "TransactionMutability": { + "type": "string", + "description": "Specifies the Mutability of the Transaction record.", + "enum": [ + "Mutable", + "Immutable" + ] + }, + "BookingDateTime": { + "type": "string", + "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ValueDateTime": { + "type": "string", + "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionInformation": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text." + }, + "AddressLine": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text." + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money in the cash transaction entry." + }, + "ChargeAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Transaction charges to be paid by the charge bearer." + }, + "CurrencyExchange": { + "required": [ + "ExchangeRate", + "SourceCurrency" + ], + "type": "object", + "properties": { + "SourceCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency from which an amount is to be converted in a currency conversion." + }, + "TargetCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency into which an amount is to be converted in a currency conversion." + }, + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency)." + }, + "ContractIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification to unambiguously identify the foreign exchange contract." + }, + "QuotationDate": { + "type": "string", + "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party." + } + }, + "description": "Set of elements used to provide details on the currency exchange." + }, + "BankTransactionCode": { + "required": [ + "Code", + "SubCode" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the family within a domain." + }, + "SubCode": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the sub-product family within a specific family." + } + }, + "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry." + }, + "ProprietaryBankTransactionCode": { + "required": [ + "Code" + ], "type": "object", + "properties": { + "Code": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Proprietary bank transaction code to identify the underlying transaction." + }, + "Issuer": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identification of the issuer of the proprietary bank transaction code." + } + }, + "description": "Set of elements to fully identify a proprietary bank transaction code." + }, + "Balance": { "required": [ - "AccountId", - "ScheduledPaymentDateTime", - "ScheduledType", - "InstructedAmount" + "Amount", + "CreditDebitIndicator", + "Type" ], + "type": "object", "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ScheduledPaymentId": { - "description": "A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ScheduledPaymentDateTime": { - "description": "The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ScheduledType": { - "description": "Specifies the scheduled payment date type requested", + "CreditDebitIndicator": { "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", "enum": [ - "Arrival", - "Execution" + "Credit", + "Debit" ] }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "DebtorReference": { - "description": "A reference value provided by the PSU to the PISP while setting up the scheduled payment.", + "Type": { "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] }, - "InstructedAmount": { - "type": "object", + "Amount": { "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money of the cash balance after a transaction entry is applied to the account.." } }, - "additionalProperties": false + "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account." }, - { + "MerchantDetails": { "type": "object", - "required": [ - "AccountId", - "ScheduledPaymentDateTime", - "ScheduledType", - "InstructedAmount", - "CreditorAccount" - ], "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", + "MerchantName": { + "maxLength": 350, "minLength": 1, - "maxLength": 40 - }, - "ScheduledPaymentId": { - "description": "A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner.", "type": "string", - "minLength": 1, - "maxLength": 40 + "description": "Name by which the merchant is known." }, - "ScheduledPaymentDateTime": { - "description": "The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, "type": "string", - "format": "date-time" - }, - "ScheduledType": { - "description": "Specifies the scheduled payment date type requested", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + } + }, + "description": "Details of the merchant involved in the transaction." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { "type": "string", - "enum": [ - "Arrival", - "Execution" + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" ] }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", + "Identification": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 - }, - "DebtorReference": { - "description": "A reference value provided by the PSU to the PISP while setting up the scheduled payment.", "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, - "InstructedAmount": { + "PostalAddress": { "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "AddressType": { "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "Department": { + "maxLength": 70, + "minLength": 1, "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "CreditorAgent": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction." + }, + "DebtorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." }, - "CreditorAccount": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the beneficiary account.", "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" ] }, - "Identification": { - "description": "Beneficiary account identification.", + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Name of a street or thoroughfare." }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the debtor." + }, + "DebtorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction." + }, + "CardInstrument": { + "required": [ + "CardSchemeName" + ], + "type": "object", + "properties": { + "CardSchemeName": { + "type": "string", + "description": "Name of the card scheme.", + "enum": [ + "AmericanExpress", + "Diners", + "Discover", + "MasterCard", + "VISA" + ] + }, + "AuthorisationType": { + "type": "string", + "description": "The card authorisation type.", + "enum": [ + "ConsumerDevice", + "Contactless", + "None", + "PIN" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of the cardholder using the card instrument." + }, + "Identification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked." } }, - "additionalProperties": false + "description": "Set of elements to describe the card instrument used in the transaction." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - ] + }, + "description": "Provides further details on an entry in the report." } } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -16394,35 +57562,30 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false + } } } } @@ -16438,36 +57601,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -16499,39 +57672,212 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -16545,7 +57891,8 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", @@ -16558,36 +57905,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -16619,134 +57976,161 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -16778,120 +58162,44 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/accounts/{AccountId}/standing-orders": { - "get": { - "tags": [ - "Standing Orders" - ], - "summary": "Get Standing Orders", - "operationId": "GetAccountsAccountIdStandingOrders", - "parameters": [ - { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Standing Orders Read", + "406": { + "description": "Not Acceptable", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -16900,455 +58208,28 @@ } } }, - "content": { - "application/json": { + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "properties": { - "StandingOrder": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "object", - "required": [ - "AccountId", - "Frequency" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StandingOrderId": { - "description": "A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Frequency": { - "description": "Individual Definitions:\nNotKnown - Not Known\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlDay - An interval specified in number of calendar days (02 to 31)\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nIndividual Patterns:\nNotKnown (ScheduleCode)\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlDay:NoOfDay (ScheduleCode + NoOfDay)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nNotKnown\nEvryDay\nEvryWorkgDay\nIntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1])\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "NextPaymentDateTime": { - "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastPaymentDateTime": { - "description": "The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "StandingOrderStatusCode": { - "description": "Specifies the status of the standing order in code form.", - "type": "string", - "enum": [ - "Active", - "Inactive" - ] - }, - "FirstPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the first Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "NextPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the next Standing Order.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "LastPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the last (most recent) Standing Order instruction.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "FinalPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the final Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - }, - "additionalProperties": false - }, - { - "type": "object", - "required": [ - "AccountId", - "Frequency", - "CreditorAccount" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StandingOrderId": { - "description": "A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Frequency": { - "description": "Individual Definitions:\nNotKnown - Not Known\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlDay - An interval specified in number of calendar days (02 to 31)\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nIndividual Patterns:\nNotKnown (ScheduleCode)\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlDay:NoOfDay (ScheduleCode + NoOfDay)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nNotKnown\nEvryDay\nEvryWorkgDay\nIntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1])\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "NextPaymentDateTime": { - "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastPaymentDateTime": { - "description": "The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "StandingOrderStatusCode": { - "description": "Specifies the status of the standing order in code form.", - "type": "string", - "enum": [ - "Active", - "Inactive" - ] - }, - "FirstPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the first Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "NextPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the next Standing Order.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "LastPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the last (most recent) Standing Order instruction.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "FinalPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the final Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "CreditorAgent": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "CreditorAccount": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the beneficiary account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Beneficiary account identification.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - }, - "additionalProperties": false - } - ] - } - } - } - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" } } - } + }, + "content": {} }, - "400": { - "description": "Bad request", + "500": { + "description": "Internal Server Error", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -17358,36 +58239,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -17419,95 +58310,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -17539,134 +58403,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -17698,39 +58496,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -17745,973 +58530,591 @@ ] } }, - "/accounts/{AccountId}/statements": { + "/balances": { "get": { "tags": [ - "Statements" + "Balances" ], - "summary": "Get Statements", - "operationId": "GetAccountsAccountIdStatements", + "summary": "Get Balances", + "operationId": "GetBalances", "parameters": [ { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } - }, - { - "in": "query", - "name": "fromStatementDateTime", - "description": "The UTC ISO 8601 Date Time to filter statements FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "in": "query", - "name": "toStatementDateTime", - "description": "The UTC ISO 8601 Date Time to filter statements TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", - "schema": { - "type": "string", - "format": "date-time" - } } ], "responses": { "200": { - "description": "Statements Read", + "description": "Balances Read", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } - } - }, - "content": { - "application/json": { + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Balance" + ], + "type": "object", + "properties": { + "Balance": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "AccountId", + "Amount", + "CreditDebitIndicator", + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] + }, + "DateTime": { + "type": "string", + "description": "Indicates the date (and time) of the balance.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the cash balance." + }, + "CreditLine": { + "type": "array", + "items": { + "required": [ + "Included" + ], + "type": "object", + "properties": { + "Included": { + "type": "boolean", + "description": "Indicates whether or not the credit line is included in the balance of the account.\nUsage: If not present, credit line is not included in the balance amount of the account." + }, + "Type": { + "type": "string", + "description": "Limit type, in a coded form.", + "enum": [ + "Available", + "Credit", + "Emergency", + "Pre-Agreed", + "Temporary" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the credit line." + } + }, + "description": "Set of elements used to provide details on the credit line." + } + } + }, + "description": "Set of elements used to define the balance details." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Balance" + ], + "type": "object", + "properties": { + "Balance": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "AccountId", + "Amount", + "CreditDebitIndicator", + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] + }, + "DateTime": { + "type": "string", + "description": "Indicates the date (and time) of the balance.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the cash balance." + }, + "CreditLine": { + "type": "array", + "items": { + "required": [ + "Included" + ], + "type": "object", + "properties": { + "Included": { + "type": "boolean", + "description": "Indicates whether or not the credit line is included in the balance of the account.\nUsage: If not present, credit line is not included in the balance amount of the account." + }, + "Type": { + "type": "string", + "description": "Limit type, in a coded form.", + "enum": [ + "Available", + "Credit", + "Emergency", + "Pre-Agreed", + "Temporary" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the credit line." + } + }, + "description": "Set of elements used to provide details on the credit line." + } + } + }, + "description": "Set of elements used to define the balance details." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { + "required": [ + "Balance" + ], "type": "object", "properties": { - "Statement": { + "Balance": { + "minItems": 1, "type": "array", "items": { - "oneOf": [ - { - "type": "object", - "description": "Provides further details on a statement resource.", + "required": [ + "AccountId", + "Amount", + "CreditDebitIndicator", + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] + }, + "DateTime": { + "type": "string", + "description": "Indicates the date (and time) of the balance.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Amount": { "required": [ - "AccountId", - "Type", - "StartDateTime", - "EndDateTime", - "CreationDateTime" + "Amount", + "Currency" ], + "type": "object", "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StatementId": { - "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StatementReference": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Type": { - "description": "Statement type, in a coded form.", - "type": "string", - "enum": [ - "AccountClosure", - "AccountOpening", - "Annual", - "Interim", - "RegularPeriodic" - ] - }, - "StartDateTime": { - "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "EndDateTime": { - "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "format": "date-time" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "format": "date-time" - }, - "StatementDescription": { - "type": "array", - "items": { - "description": "Other descriptions that may be available for the statement resource.", - "type": "string", - "minLength": 1, - "maxLength": 500 - } - }, - "StatementBenefit": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource.", - "required": [ - "Type", - "Amount" - ], - "properties": { - "Type": { - "description": "Benefit type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Cashback", - "UK.OBIE.Insurance", - "UK.OBIE.TravelDiscount", - "UK.OBIE.TravelInsurance" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement benefit type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementFee": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a fee for the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "Description": { - "description": "Description that may be available for the statement fee.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Fee type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Annual", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CashAdvance", - "UK.OBIE.CashTransaction", - "UK.OBIE.ForeignCashTransaction", - "UK.OBIE.ForeignTransaction", - "UK.OBIE.Gambling", - "UK.OBIE.LatePayment", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Monthly", - "UK.OBIE.Overlimit", - "UK.OBIE.PostalOrder", - "UK.OBIE.PrizeEntry", - "UK.OBIE.StatementCopy", - "UK.OBIE.Total" - ] - }, - "Rate": { - "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)", - "type": "number" - }, - "RateType": { - "description": "Description that may be available for the statement fee rate type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AER", - "UK.OBIE.EAR" - ] - }, - "Frequency": { - "description": "How frequently the fee is applied to the Account.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.ChargingPeriod", - "UK.OBIE.PerTransactionAmount", - "UK.OBIE.PerTransactionPercentage", - "UK.OBIE.Quarterly", - "UK.OBIE.StatementMonthly", - "UK.OBIE.Weekly" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement fee type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementInterest": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic interest amount related to the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "Description": { - "description": "Description that may be available for the statement interest.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Interest amount type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BalanceTransfer", - "UK.OBIE.Cash", - "UK.OBIE.EstimatedNext", - "UK.OBIE.Purchase", - "UK.OBIE.Total" - ] - }, - "Rate": { - "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary.", - "type": "number" - }, - "RateType": { - "description": "Description that may be available for the statement Interest rate type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BOEBaseRate", - "UK.OBIE.FixedRate", - "UK.OBIE.Gross", - "UK.OBIE.LoanProviderBaseRate", - "UK.OBIE.Net" - ] - }, - "Frequency": { - "description": "Specifies the statement fee type requested", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Daily", - "UK.OBIE.HalfYearly", - "UK.OBIE.Monthly", - "UK.OBIE.PerStatementDate", - "UK.OBIE.Quarterly", - "UK.OBIE.Weekly", - "UK.OBIE.Yearly" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement interest amount type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementDateTime": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic date time for the statement resource.", - "required": [ - "DateTime", - "Type" - ], - "properties": { - "DateTime": { - "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Type": { - "description": "Date time type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BalanceTransferPromoEnd", - "UK.OBIE.DirectDebitDue", - "UK.OBIE.LastPayment", - "UK.OBIE.LastStatement", - "UK.OBIE.NextStatement", - "UK.OBIE.PaymentDue", - "UK.OBIE.PurchasePromoEnd", - "UK.OBIE.StatementAvailable" - ] - } - } - } - }, - "StatementRate": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic rate related to the statement resource.", - "required": [ - "Rate", - "Type" - ], - "properties": { - "Rate": { - "description": "Rate associated with the statement rate type.", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - }, - "Type": { - "description": "Statement rate type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AnnualBalanceTransfer", - "UK.OBIE.AnnualBalanceTransferAfterPromo", - "UK.OBIE.AnnualBalanceTransferPromo", - "UK.OBIE.AnnualCash", - "UK.OBIE.AnnualPurchase", - "UK.OBIE.AnnualPurchaseAfterPromo", - "UK.OBIE.AnnualPurchasePromo", - "UK.OBIE.MonthlyBalanceTransfer", - "UK.OBIE.MonthlyCash", - "UK.OBIE.MonthlyPurchase" - ] - } - } - } - }, - "StatementValue": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic number value related to the statement resource.", - "required": [ - "Value", - "Type" - ], - "properties": { - "Value": { - "description": "Value associated with the statement value type.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Type": { - "description": "Statement value type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AirMilesPoints", - "UK.OBIE.AirMilesPointsBalance", - "UK.OBIE.Credits", - "UK.OBIE.Debits", - "UK.OBIE.HotelPoints", - "UK.OBIE.HotelPointsBalance", - "UK.OBIE.RetailShoppingPoints", - "UK.OBIE.RetailShoppingPointsBalance" - ] - } - } - } + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } }, - "additionalProperties": false + "description": "Amount of money of the cash balance." }, - { - "type": "object", - "description": "Provides further details on a statement resource.", - "required": [ - "AccountId", - "Type", - "StartDateTime", - "EndDateTime", - "CreationDateTime" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StatementId": { - "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StatementReference": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Type": { - "description": "Statement type, in a coded form.", - "type": "string", - "enum": [ - "AccountClosure", - "AccountOpening", - "Annual", - "Interim", - "RegularPeriodic" - ] - }, - "StartDateTime": { - "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "EndDateTime": { - "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "StatementDescription": { - "type": "array", - "items": { - "description": "Other descriptions that may be available for the statement resource.", + "CreditLine": { + "type": "array", + "items": { + "required": [ + "Included" + ], + "type": "object", + "properties": { + "Included": { + "type": "boolean", + "description": "Indicates whether or not the credit line is included in the balance of the account.\nUsage: If not present, credit line is not included in the balance amount of the account." + }, + "Type": { "type": "string", - "minLength": 1, - "maxLength": 500 - } - }, - "StatementBenefit": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource.", - "required": [ - "Type", - "Amount" - ], - "properties": { - "Type": { - "description": "Benefit type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Cashback", - "UK.OBIE.Insurance", - "UK.OBIE.TravelDiscount", - "UK.OBIE.TravelInsurance" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement benefit type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementFee": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a fee for the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "Description": { - "description": "Description that may be available for the statement fee.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Fee type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Annual", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CashAdvance", - "UK.OBIE.CashTransaction", - "UK.OBIE.ForeignCashTransaction", - "UK.OBIE.ForeignTransaction", - "UK.OBIE.Gambling", - "UK.OBIE.LatePayment", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Monthly", - "UK.OBIE.Overlimit", - "UK.OBIE.PostalOrder", - "UK.OBIE.PrizeEntry", - "UK.OBIE.StatementCopy", - "UK.OBIE.Total" - ] - }, - "Rate": { - "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)", - "type": "number" - }, - "RateType": { - "description": "Description that may be available for the statement fee rate type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AER", - "UK.OBIE.EAR" - ] - }, - "Frequency": { - "description": "How frequently the fee is applied to the Account.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.ChargingPeriod", - "UK.OBIE.PerTransactionAmount", - "UK.OBIE.PerTransactionPercentage", - "UK.OBIE.Quarterly", - "UK.OBIE.StatementMonthly", - "UK.OBIE.Weekly" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement fee type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementInterest": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic interest amount related to the statement resource.", + "description": "Limit type, in a coded form.", + "enum": [ + "Available", + "Credit", + "Emergency", + "Pre-Agreed", + "Temporary" + ] + }, + "Amount": { "required": [ - "CreditDebitIndicator", - "Type", - "Amount" + "Amount", + "Currency" ], - "properties": { - "Description": { - "description": "Description that may be available for the statement interest.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Interest amount type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BalanceTransfer", - "UK.OBIE.Cash", - "UK.OBIE.EstimatedNext", - "UK.OBIE.Purchase", - "UK.OBIE.Total" - ] - }, - "Rate": { - "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary.", - "type": "number" - }, - "RateType": { - "description": "Description that may be available for the statement Interest rate type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BOEBaseRate", - "UK.OBIE.FixedRate", - "UK.OBIE.Gross", - "UK.OBIE.LoanProviderBaseRate", - "UK.OBIE.Net" - ] - }, - "Frequency": { - "description": "Specifies the statement fee type requested", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Daily", - "UK.OBIE.HalfYearly", - "UK.OBIE.Monthly", - "UK.OBIE.PerStatementDate", - "UK.OBIE.Quarterly", - "UK.OBIE.Weekly", - "UK.OBIE.Yearly" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement interest amount type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementAmount": { - "type": "array", - "items": { "type": "object", - "description": "Set of elements used to provide details of a generic amount for the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], "properties": { - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Amount type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.ArrearsClosingBalance", - "UK.OBIE.AvailableBalance", - "UK.OBIE.AverageBalanceWhenInCredit", - "UK.OBIE.AverageBalanceWhenInDebit", - "UK.OBIE.AverageDailyBalance", - "UK.OBIE.BalanceTransferClosingBalance", - "UK.OBIE.CashClosingBalance", - "UK.OBIE.ClosingBalance", - "UK.OBIE.CreditLimit", - "UK.OBIE.CurrentPayment", - "UK.OBIE.DirectDebitPaymentDue", - "UK.OBIE.FSCSInsurance", - "UK.OBIE.MinimumPaymentDue", - "UK.OBIE.PendingTransactionsBalance", - "UK.OBIE.PreviousClosingBalance", - "UK.OBIE.PreviousPayment", - "UK.OBIE.PurchaseClosingBalance", - "UK.OBIE.StartingBalance", - "UK.OBIE.TotalAdjustments", - "UK.OBIE.TotalCashAdvances", - "UK.OBIE.TotalCharges", - "UK.OBIE.TotalCredits", - "UK.OBIE.TotalDebits", - "UK.OBIE.TotalPurchases" - ] - }, "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the amount type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementDateTime": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic date time for the statement resource.", - "required": [ - "DateTime", - "Type" - ], - "properties": { - "DateTime": { - "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Type": { - "description": "Date time type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BalanceTransferPromoEnd", - "UK.OBIE.DirectDebitDue", - "UK.OBIE.LastPayment", - "UK.OBIE.LastStatement", - "UK.OBIE.NextStatement", - "UK.OBIE.PaymentDue", - "UK.OBIE.PurchasePromoEnd", - "UK.OBIE.StatementAvailable" - ] - } - } - } - }, - "StatementRate": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic rate related to the statement resource.", - "required": [ - "Rate", - "Type" - ], - "properties": { - "Rate": { - "description": "Rate associated with the statement rate type.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "Type": { - "description": "Statement rate type, in a coded form.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AnnualBalanceTransfer", - "UK.OBIE.AnnualBalanceTransferAfterPromo", - "UK.OBIE.AnnualBalanceTransferPromo", - "UK.OBIE.AnnualCash", - "UK.OBIE.AnnualPurchase", - "UK.OBIE.AnnualPurchaseAfterPromo", - "UK.OBIE.AnnualPurchasePromo", - "UK.OBIE.MonthlyBalanceTransfer", - "UK.OBIE.MonthlyCash", - "UK.OBIE.MonthlyPurchase" - ] + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money of the credit line." } }, - "StatementValue": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic number value related to the statement resource.", - "required": [ - "Value", - "Type" - ], - "properties": { - "Value": { - "description": "Value associated with the statement value type.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Type": { - "description": "Statement value type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AirMilesPoints", - "UK.OBIE.AirMilesPointsBalance", - "UK.OBIE.Credits", - "UK.OBIE.Debits", - "UK.OBIE.HotelPoints", - "UK.OBIE.HotelPointsBalance", - "UK.OBIE.RetailShoppingPoints", - "UK.OBIE.RetailShoppingPointsBalance" - ] - } - } - } - } - }, - "additionalProperties": false + "description": "Set of elements used to provide details on the credit line." + } } - ] + }, + "description": "Set of elements used to define the balance details." } } - }, - "additionalProperties": false + } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -18734,80 +59137,178 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - }, - "additionalProperties": false + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "additionalProperties": false - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -18839,39 +59340,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -18885,7 +59466,8 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", @@ -18898,36 +59480,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -18959,39 +59551,212 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -19005,7 +59770,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -19016,7 +59782,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -19027,24 +59794,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -19057,36 +59826,232 @@ } }, "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -19118,39 +60083,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -19165,74 +60117,52 @@ ] } }, - "/accounts/{AccountId}/statements/{StatementId}": { + "/beneficiaries": { "get": { "tags": [ - "Statements" + "Beneficiaries" ], - "summary": "Get Statements", - "operationId": "GetAccountsAccountIdStatementsStatementId", + "summary": "Get Beneficiaries", + "operationId": "GetBeneficiaries", "parameters": [ { - "name": "StatementId", - "in": "path", - "description": "StatementId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -19240,7 +60170,7 @@ ], "responses": { "200": { - "description": "Statements Read", + "description": "Beneficiaries Read", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -19250,879 +60180,693 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", "properties": { - "Statement": { + "Beneficiary": { "type": "array", "items": { - "oneOf": [ - { + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "BeneficiaryId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner." + }, + "BeneficiaryType": { + "type": "string", + "description": "Specifies the Beneficiary Type.", + "enum": [ + "Trusted", + "Ordinary" + ] + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + }, + "CreditorAgent": { "type": "object", - "description": "Provides further details on a statement resource.", - "required": [ - "AccountId", - "Type", - "StartDateTime", - "EndDateTime", - "CreationDateTime" - ], "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", + "SchemeName": { "type": "string", - "minLength": 1, - "maxLength": 40 + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] }, - "StatementId": { - "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable.", - "type": "string", + "Identification": { + "maxLength": 35, "minLength": 1, - "maxLength": 40 - }, - "StatementReference": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + }, + "Name": { + "maxLength": 140, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, - "Type": { - "description": "Statement type, in a coded form.", + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { "type": "string", - "enum": [ - "AccountClosure", - "AccountOpening", - "Annual", - "Interim", - "RegularPeriodic" + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] }, - "StartDateTime": { - "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Identification": { + "maxLength": 256, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "EndDateTime": { - "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Name": { + "maxLength": 350, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Beneficiary": { + "type": "array", + "items": { + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "BeneficiaryId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner." + }, + "BeneficiaryType": { + "type": "string", + "description": "Specifies the Beneficiary Type.", + "enum": [ + "Trusted", + "Ordinary" + ] + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] }, - "StatementDescription": { - "type": "array", - "items": { - "description": "Other descriptions that may be available for the statement resource.", - "type": "string", - "minLength": 1, - "maxLength": 500 - } + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, - "StatementBenefit": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource.", - "required": [ - "Type", - "Amount" - ], - "properties": { - "Type": { - "description": "Benefit type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Cashback", - "UK.OBIE.Insurance", - "UK.OBIE.TravelDiscount", - "UK.OBIE.TravelInsurance" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement benefit type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, - "StatementFee": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a fee for the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "Description": { - "description": "Description that may be available for the statement fee.", - "type": "string", + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, "minLength": 1, - "maxLength": 128 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Fee type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Annual", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CashAdvance", - "UK.OBIE.CashTransaction", - "UK.OBIE.ForeignCashTransaction", - "UK.OBIE.ForeignTransaction", - "UK.OBIE.Gambling", - "UK.OBIE.LatePayment", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Monthly", - "UK.OBIE.Overlimit", - "UK.OBIE.PostalOrder", - "UK.OBIE.PrizeEntry", - "UK.OBIE.StatementCopy", - "UK.OBIE.Total" - ] - }, - "Rate": { - "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)", - "type": "number" - }, - "RateType": { - "description": "Description that may be available for the statement fee rate type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AER", - "UK.OBIE.EAR" - ] - }, - "Frequency": { - "description": "How frequently the fee is applied to the Account.", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.ChargingPeriod", - "UK.OBIE.PerTransactionAmount", - "UK.OBIE.PerTransactionPercentage", - "UK.OBIE.Quarterly", - "UK.OBIE.StatementMonthly", - "UK.OBIE.Weekly" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement fee type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] }, - "StatementInterest": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic interest amount related to the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "Description": { - "description": "Description that may be available for the statement interest.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Interest amount type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BalanceTransfer", - "UK.OBIE.Cash", - "UK.OBIE.EstimatedNext", - "UK.OBIE.Purchase", - "UK.OBIE.Total" - ] - }, - "Rate": { - "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary.", - "type": "number" - }, - "RateType": { - "description": "Description that may be available for the statement Interest rate type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BOEBaseRate", - "UK.OBIE.FixedRate", - "UK.OBIE.Gross", - "UK.OBIE.LoanProviderBaseRate", - "UK.OBIE.Net" - ] - }, - "Frequency": { - "description": "Specifies the statement fee type requested", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Daily", - "UK.OBIE.HalfYearly", - "UK.OBIE.Monthly", - "UK.OBIE.PerStatementDate", - "UK.OBIE.Quarterly", - "UK.OBIE.Weekly", - "UK.OBIE.Yearly" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement interest amount type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "StatementDateTime": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic date time for the statement resource.", - "required": [ - "DateTime", - "Type" - ], - "properties": { - "DateTime": { - "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Type": { - "description": "Date time type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BalanceTransferPromoEnd", - "UK.OBIE.DirectDebitDue", - "UK.OBIE.LastPayment", - "UK.OBIE.LastStatement", - "UK.OBIE.NextStatement", - "UK.OBIE.PaymentDue", - "UK.OBIE.PurchasePromoEnd", - "UK.OBIE.StatementAvailable" - ] - } - } - } + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Beneficiary": { + "type": "array", + "items": { + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "BeneficiaryId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner." + }, + "BeneficiaryType": { + "type": "string", + "description": "Specifies the Beneficiary Type.", + "enum": [ + "Trusted", + "Ordinary" + ] + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, - "StatementRate": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic rate related to the statement resource.", - "required": [ - "Rate", - "Type" - ], - "properties": { - "Rate": { - "description": "Rate associated with the statement rate type.", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - }, - "Type": { - "description": "Statement rate type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AnnualBalanceTransfer", - "UK.OBIE.AnnualBalanceTransferAfterPromo", - "UK.OBIE.AnnualBalanceTransferPromo", - "UK.OBIE.AnnualCash", - "UK.OBIE.AnnualPurchase", - "UK.OBIE.AnnualPurchaseAfterPromo", - "UK.OBIE.AnnualPurchasePromo", - "UK.OBIE.MonthlyBalanceTransfer", - "UK.OBIE.MonthlyCash", - "UK.OBIE.MonthlyPurchase" - ] - } - } - } + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, - "StatementValue": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic number value related to the statement resource.", - "required": [ - "Value", - "Type" - ], - "properties": { - "Value": { - "description": "Value associated with the statement value type.", - "type": "string", + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, "minLength": 1, - "maxLength": 40 - }, - "Type": { - "description": "Statement value type, in a coded form.", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AirMilesPoints", - "UK.OBIE.AirMilesPointsBalance", - "UK.OBIE.Credits", - "UK.OBIE.Debits", - "UK.OBIE.HotelPoints", - "UK.OBIE.HotelPointsBalance", - "UK.OBIE.RetailShoppingPoints", - "UK.OBIE.RetailShoppingPointsBalance" - ] + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } }, - "additionalProperties": false + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, - { - "type": "object", - "description": "Provides further details on a statement resource.", + "CreditorAccount": { "required": [ - "AccountId", - "Type", - "StartDateTime", - "EndDateTime", - "CreationDateTime" + "Identification", + "SchemeName" ], + "type": "object", "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StatementId": { - "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StatementReference": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Type": { - "description": "Statement type, in a coded form.", + "SchemeName": { "type": "string", - "enum": [ - "AccountClosure", - "AccountOpening", - "Annual", - "Interim", - "RegularPeriodic" + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] }, - "StartDateTime": { - "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Identification": { + "maxLength": 256, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "EndDateTime": { - "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Name": { + "maxLength": 350, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, "type": "string", - "format": "date-time" - }, - "StatementDescription": { - "type": "array", - "items": { - "description": "Other descriptions that may be available for the statement resource.", - "type": "string", - "minLength": 1, - "maxLength": 500 - } - }, - "StatementBenefit": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource.", - "required": [ - "Type", - "Amount" - ], - "properties": { - "Type": { - "description": "Benefit type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Cashback", - "UK.OBIE.Insurance", - "UK.OBIE.TravelDiscount", - "UK.OBIE.TravelInsurance" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement benefit type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementFee": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a fee for the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "Description": { - "description": "Description that may be available for the statement fee.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Fee type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Annual", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CashAdvance", - "UK.OBIE.CashTransaction", - "UK.OBIE.ForeignCashTransaction", - "UK.OBIE.ForeignTransaction", - "UK.OBIE.Gambling", - "UK.OBIE.LatePayment", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Monthly", - "UK.OBIE.Overlimit", - "UK.OBIE.PostalOrder", - "UK.OBIE.PrizeEntry", - "UK.OBIE.StatementCopy", - "UK.OBIE.Total" - ] - }, - "Rate": { - "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)", - "type": "number" - }, - "RateType": { - "description": "Description that may be available for the statement fee rate type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AER", - "UK.OBIE.EAR" - ] - }, - "Frequency": { - "description": "How frequently the fee is applied to the Account.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.ChargingPeriod", - "UK.OBIE.PerTransactionAmount", - "UK.OBIE.PerTransactionPercentage", - "UK.OBIE.Quarterly", - "UK.OBIE.StatementMonthly", - "UK.OBIE.Weekly" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement fee type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementInterest": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic interest amount related to the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "Description": { - "description": "Description that may be available for the statement interest.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Interest amount type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BalanceTransfer", - "UK.OBIE.Cash", - "UK.OBIE.EstimatedNext", - "UK.OBIE.Purchase", - "UK.OBIE.Total" - ] - }, - "Rate": { - "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary.", - "type": "number" - }, - "RateType": { - "description": "Description that may be available for the statement Interest rate type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BOEBaseRate", - "UK.OBIE.FixedRate", - "UK.OBIE.Gross", - "UK.OBIE.LoanProviderBaseRate", - "UK.OBIE.Net" - ] - }, - "Frequency": { - "description": "Specifies the statement fee type requested", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Daily", - "UK.OBIE.HalfYearly", - "UK.OBIE.Monthly", - "UK.OBIE.PerStatementDate", - "UK.OBIE.Quarterly", - "UK.OBIE.Weekly", - "UK.OBIE.Yearly" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement interest amount type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementAmount": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic amount for the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Amount type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.ArrearsClosingBalance", - "UK.OBIE.AvailableBalance", - "UK.OBIE.AverageBalanceWhenInCredit", - "UK.OBIE.AverageBalanceWhenInDebit", - "UK.OBIE.AverageDailyBalance", - "UK.OBIE.BalanceTransferClosingBalance", - "UK.OBIE.CashClosingBalance", - "UK.OBIE.ClosingBalance", - "UK.OBIE.CreditLimit", - "UK.OBIE.CurrentPayment", - "UK.OBIE.DirectDebitPaymentDue", - "UK.OBIE.FSCSInsurance", - "UK.OBIE.MinimumPaymentDue", - "UK.OBIE.PendingTransactionsBalance", - "UK.OBIE.PreviousClosingBalance", - "UK.OBIE.PreviousPayment", - "UK.OBIE.PurchaseClosingBalance", - "UK.OBIE.StartingBalance", - "UK.OBIE.TotalAdjustments", - "UK.OBIE.TotalCashAdvances", - "UK.OBIE.TotalCharges", - "UK.OBIE.TotalCredits", - "UK.OBIE.TotalDebits", - "UK.OBIE.TotalPurchases" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the amount type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementDateTime": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic date time for the statement resource.", - "required": [ - "DateTime", - "Type" - ], - "properties": { - "DateTime": { - "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Type": { - "description": "Date time type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BalanceTransferPromoEnd", - "UK.OBIE.DirectDebitDue", - "UK.OBIE.LastPayment", - "UK.OBIE.LastStatement", - "UK.OBIE.NextStatement", - "UK.OBIE.PaymentDue", - "UK.OBIE.PurchasePromoEnd", - "UK.OBIE.StatementAvailable" - ] - } - } - } - }, - "StatementRate": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic rate related to the statement resource.", - "required": [ - "Rate", - "Type" - ], - "properties": { - "Rate": { - "description": "Rate associated with the statement rate type.", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - }, - "Type": { - "description": "Statement rate type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AnnualBalanceTransfer", - "UK.OBIE.AnnualBalanceTransferAfterPromo", - "UK.OBIE.AnnualBalanceTransferPromo", - "UK.OBIE.AnnualCash", - "UK.OBIE.AnnualPurchase", - "UK.OBIE.AnnualPurchaseAfterPromo", - "UK.OBIE.AnnualPurchasePromo", - "UK.OBIE.MonthlyBalanceTransfer", - "UK.OBIE.MonthlyCash", - "UK.OBIE.MonthlyPurchase" - ] - } - } - } - }, - "StatementValue": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic number value related to the statement resource.", - "required": [ - "Value", - "Type" - ], - "properties": { - "Value": { - "description": "Value associated with the statement value type.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Type": { - "description": "Statement value type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AirMilesPoints", - "UK.OBIE.AirMilesPointsBalance", - "UK.OBIE.Credits", - "UK.OBIE.Debits", - "UK.OBIE.HotelPoints", - "UK.OBIE.HotelPointsBalance", - "UK.OBIE.RetailShoppingPoints", - "UK.OBIE.RetailShoppingPointsBalance" - ] - } - } - } + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } }, - "additionalProperties": false + "description": "Provides the details to identify the beneficiary account." } - ] + } } } - }, - "additionalProperties": false + } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -20145,41 +60889,340 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" } } - } + }, + "content": {} }, - "400": { - "description": "Bad request", + "403": { + "description": "Forbidden", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -20189,36 +61232,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -20250,95 +61303,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -20370,134 +61396,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -20529,129 +61489,56 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/accounts/{AccountId}/statements/{StatementId}/file": { - "get": { - "tags": [ - "Statements" - ], - "summary": "Get Statements", - "operationId": "GetAccountsAccountIdStatementsStatementIdFile", - "parameters": [ - { - "name": "StatementId", - "in": "path", - "description": "StatementId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Statements Read", + "406": { + "description": "Not Acceptable", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -20660,17 +61547,28 @@ } } }, - "content": { - "application/json": { + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { - "type": "object", - "properties": {} + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" } } - } + }, + "content": {} }, - "400": { - "description": "Bad request", + "500": { + "description": "Internal Server Error", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -20680,36 +61578,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -20741,95 +61649,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -20861,134 +61742,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -21020,39 +61835,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -21067,74 +61869,52 @@ ] } }, - "/accounts/{AccountId}/statements/{StatementId}/transactions": { + "/direct-debits": { "get": { "tags": [ - "Transactions" + "Direct Debits" ], - "summary": "Get Transactions", - "operationId": "GetAccountsAccountIdStatementsStatementIdTransactions", + "summary": "Get Direct Debits", + "operationId": "GetDirectDebits", "parameters": [ { - "name": "StatementId", - "in": "path", - "description": "StatementId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -21142,7 +61922,7 @@ ], "responses": { "200": { - "description": "Transactions Read", + "description": "Direct Debits Read", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -21152,1032 +61932,695 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", "properties": { - "Transaction": { + "DirectDebit": { "type": "array", "items": { - "oneOf": [ - { - "type": "object", - "description": "Provides further details on an entry in the report.", + "required": [ + "AccountId", + "MandateIdentification", + "Name" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "DirectDebitId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner." + }, + "MandateIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Direct Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference." + }, + "DirectDebitStatusCode": { + "type": "string", + "description": "Specifies the status of the direct debit in code form.", + "enum": [ + "Active", + "Inactive" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of Service User." + }, + "PreviousPaymentDateTime": { + "type": "string", + "description": "Date of most recent direct debit collection.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Frequency": { + "type": "string", + "description": "Regularity with which direct debit instructions are to be created and processed.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.Daily", + "UK.OBIE.Fortnightly", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.NotKnown", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly" + ] + }, + "PreviousPaymentAmount": { "required": [ - "AccountId", - "CreditDebitIndicator", - "Status", - "BookingDateTime", - "Amount" + "Amount", + "Currency" ], + "type": "object", "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "TransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "TransactionReference": { - "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context.", - "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "StatementReference": { - "type": "array", - "items": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - }, - "CreditDebitIndicator": { - "description": "Indicates whether the transaction is a credit or a debit entry.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Status": { - "description": "Status of a transaction entry on the books of the account servicer.", - "type": "string", - "enum": [ - "Booked", - "Pending" - ] - }, - "TransactionMutability": { - "description": "Specifies the Mutability of the Transaction record.", - "type": "string", - "enum": [ - "Mutable", - "Immutable" - ] - }, - "BookingDateTime": { - "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ValueDateTime": { - "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "format": "date-time" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "AddressLine": { - "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money in the cash transaction entry.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "ChargeAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Transaction charges to be paid by the charge bearer.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "CurrencyExchange": { - "type": "object", - "required": [ - "SourceCurrency", - "ExchangeRate" - ], - "description": "Set of elements used to provide details on the currency exchange.", - "properties": { - "SourceCurrency": { - "description": "Currency from which an amount is to be converted in a currency conversion.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "TargetCurrency": { - "description": "Currency into which an amount is to be converted in a currency conversion.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).", - "type": "number" - }, - "ContractIdentification": { - "description": "Unique identification to unambiguously identify the foreign exchange contract.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "QuotationDate": { - "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "InstructedAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - }, - "BankTransactionCode": { - "type": "object", - "required": [ - "Code", - "SubCode" - ], - "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry.", - "properties": { - "Code": { - "description": "Specifies the family within a domain.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "SubCode": { - "description": "Specifies the sub-product family within a specific family.", - "type": "string", - "minLength": 1, - "maxLength": 4 - } - } - }, - "ProprietaryBankTransactionCode": { - "type": "object", - "required": [ - "Code" - ], - "description": "Set of elements to fully identify a proprietary bank transaction code.", - "properties": { - "Code": { - "description": "Proprietary bank transaction code to identify the underlying transaction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Issuer": { - "description": "Identification of the issuer of the proprietary bank transaction code.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - }, - "additionalProperties": false - }, - "CardInstrument": { - "type": "object", - "required": [ - "CardSchemeName" - ], - "description": "Set of elements to describe the card instrument used in the transaction.", - "properties": { - "CardSchemeName": { - "description": "Name of the card scheme.", - "type": "string", - "enum": [ - "AmericanExpress", - "Diners", - "Discover", - "MasterCard", - "VISA" - ] - }, - "AuthorisationType": { - "description": "The card authorisation type.", - "type": "string", - "enum": [ - "ConsumerDevice", - "Contactless", - "None", - "PIN" - ] - }, - "Name": { - "description": "Name of the cardholder using the card instrument.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Identification": { - "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked.", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - }, - "additionalProperties": false - }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } }, - "additionalProperties": false + "description": "The amount of the most recent direct debit collection." + } + }, + "description": "Account to or from which a cash entry is made." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "DirectDebit": { + "type": "array", + "items": { + "required": [ + "AccountId", + "MandateIdentification", + "Name" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." }, - { - "type": "object", - "description": "Provides further details on an entry in the report.", + "DirectDebitId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner." + }, + "MandateIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Direct Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference." + }, + "DirectDebitStatusCode": { + "type": "string", + "description": "Specifies the status of the direct debit in code form.", + "enum": [ + "Active", + "Inactive" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of Service User." + }, + "PreviousPaymentDateTime": { + "type": "string", + "description": "Date of most recent direct debit collection.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Frequency": { + "type": "string", + "description": "Regularity with which direct debit instructions are to be created and processed.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.Daily", + "UK.OBIE.Fortnightly", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.NotKnown", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly" + ] + }, + "PreviousPaymentAmount": { "required": [ - "AccountId", - "CreditDebitIndicator", - "Status", - "BookingDateTime", - "Amount" + "Amount", + "Currency" ], + "type": "object", "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "TransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "TransactionReference": { - "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context.", - "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "StatementReference": { - "type": "array", - "items": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - }, - "CreditDebitIndicator": { - "description": "Indicates whether the transaction is a credit or a debit entry.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Status": { - "description": "Status of a transaction entry on the books of the account servicer.", - "type": "string", - "enum": [ - "Booked", - "Pending" - ] - }, - "TransactionMutability": { - "description": "Specifies the Mutability of the Transaction record.", - "type": "string", - "enum": [ - "Mutable", - "Immutable" - ] - }, - "BookingDateTime": { - "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "format": "date-time" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "ValueDateTime": { - "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "format": "date-time" - }, - "TransactionInformation": { - "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text.", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the most recent direct debit collection." + } + }, + "description": "Account to or from which a cash entry is made." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "DirectDebit": { + "type": "array", + "items": { + "required": [ + "AccountId", + "MandateIdentification", + "Name" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "DirectDebitId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner." + }, + "MandateIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Direct Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference." + }, + "DirectDebitStatusCode": { + "type": "string", + "description": "Specifies the status of the direct debit in code form.", + "enum": [ + "Active", + "Inactive" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of Service User." + }, + "PreviousPaymentDateTime": { + "type": "string", + "description": "Date of most recent direct debit collection.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Frequency": { + "type": "string", + "description": "Regularity with which direct debit instructions are to be created and processed.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.Daily", + "UK.OBIE.Fortnightly", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.NotKnown", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly" + ] + }, + "PreviousPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "minLength": 1, - "maxLength": 500 + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "AddressLine": { - "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money in the cash transaction entry.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "ChargeAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Transaction charges to be paid by the charge bearer.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "CurrencyExchange": { - "type": "object", - "required": [ - "SourceCurrency", - "ExchangeRate" - ], - "description": "Set of elements used to provide details on the currency exchange.", - "properties": { - "SourceCurrency": { - "description": "Currency from which an amount is to be converted in a currency conversion.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "TargetCurrency": { - "description": "Currency into which an amount is to be converted in a currency conversion.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).", - "type": "number" - }, - "ContractIdentification": { - "description": "Unique identification to unambiguously identify the foreign exchange contract.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "QuotationDate": { - "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "InstructedAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - }, - "BankTransactionCode": { - "type": "object", - "required": [ - "Code", - "SubCode" - ], - "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry.", - "properties": { - "Code": { - "description": "Specifies the family within a domain.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "SubCode": { - "description": "Specifies the sub-product family within a specific family.", - "type": "string", - "minLength": 1, - "maxLength": 4 - } - } - }, - "ProprietaryBankTransactionCode": { - "type": "object", - "required": [ - "Code" - ], - "description": "Set of elements to fully identify a proprietary bank transaction code.", - "properties": { - "Code": { - "description": "Proprietary bank transaction code to identify the underlying transaction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Issuer": { - "description": "Identification of the issuer of the proprietary bank transaction code.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - }, - "additionalProperties": false - }, - "Balance": { - "type": "object", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account.", - "properties": { - "CreditDebitIndicator": { - "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Balance type, in a coded form.", - "type": "string", - "enum": [ - "ClosingAvailable", - "ClosingBooked", - "ClosingCleared", - "Expected", - "ForwardAvailable", - "Information", - "InterimAvailable", - "InterimBooked", - "InterimCleared", - "OpeningAvailable", - "OpeningBooked", - "OpeningCleared", - "PreviouslyClosedBooked" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money of the cash balance after a transaction entry is applied to the account..", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - }, - "additionalProperties": false - }, - "MerchantDetails": { - "type": "object", - "description": "Details of the merchant involved in the transaction.", - "properties": { - "MerchantName": { - "description": "Name by which the merchant is known.", - "type": "string", - "minLength": 1, - "maxLength": 350 - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - } - } - }, - "CreditorAgent": { - "type": "object", - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAccount": { - "type": "object", - "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "DebtorAgent": { - "type": "object", - "description": "Financial institution servicing an account for the debtor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "DebtorAccount": { - "type": "object", - "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "CardInstrument": { - "type": "object", - "required": [ - "CardSchemeName" - ], - "description": "Set of elements to describe the card instrument used in the transaction.", - "properties": { - "CardSchemeName": { - "description": "Name of the card scheme.", - "type": "string", - "enum": [ - "AmericanExpress", - "Diners", - "Discover", - "MasterCard", - "VISA" - ] - }, - "AuthorisationType": { - "description": "The card authorisation type.", - "type": "string", - "enum": [ - "ConsumerDevice", - "Contactless", - "None", - "PIN" - ] - }, - "Name": { - "description": "Name of the cardholder using the card instrument.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Identification": { - "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked.", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - }, - "additionalProperties": false - }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } }, - "additionalProperties": false + "description": "The amount of the most recent direct debit collection." } + }, + "description": "Account to or from which a cash entry is made." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } - }, - "additionalProperties": false - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false + } } }, - "additionalProperties": false - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { - "application/json": { + }, + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -22209,39 +62652,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -22255,7 +62685,8 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", @@ -22268,36 +62699,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -22329,39 +62770,212 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -22375,7 +62989,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -22386,7 +63001,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -22397,24 +63013,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -22427,36 +63045,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -22488,39 +63116,212 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -22535,91 +63336,60 @@ ] } }, - "/accounts/{AccountId}/transactions": { + "/offers": { "get": { "tags": [ - "Transactions" + "Offers" ], - "summary": "Get Transactions", - "operationId": "GetAccountsAccountIdTransactions", + "summary": "Get Offers", + "operationId": "GetOffers", "parameters": [ { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "query", - "name": "fromBookingDateTime", - "description": "The UTC ISO 8601 Date Time to filter transactions FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { - "type": "string", - "format": "date-time" + "type": "string" } }, { - "in": "query", - "name": "toBookingDateTime", - "description": "The UTC ISO 8601 Date Time to filter transactions TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", "schema": { - "type": "string", - "format": "date-time" + "type": "string" } } ], "responses": { "200": { - "description": "Transactions Read", + "description": "Offers Read", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -22629,1032 +63399,1330 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", "properties": { - "Transaction": { + "Offer": { "type": "array", "items": { - "oneOf": [ - { - "type": "object", - "description": "Provides further details on an entry in the report.", + "required": [ + "AccountId" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "OfferId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner." + }, + "OfferType": { + "type": "string", + "description": "Offer type, in a coded form.", + "enum": [ + "BalanceTransfer", + "LimitIncrease", + "MoneyTransfer", + "Other", + "PromotionalRate" + ] + }, + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the offer." + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the offer starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the offer ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the offer type." + }, + "Value": { + "type": "integer", + "description": "Value associated with the offer type." + }, + "Term": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the term of the offer." + }, + "URL": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "URL (Uniform Resource Locator) where documentation on the offer can be found" + }, + "Amount": { "required": [ - "AccountId", - "CreditDebitIndicator", - "Status", - "BookingDateTime", - "Amount" + "Amount", + "Currency" ], + "type": "object", "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "TransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "TransactionReference": { - "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context.", - "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "StatementReference": { - "type": "array", - "items": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - }, - "CreditDebitIndicator": { - "description": "Indicates whether the transaction is a credit or a debit entry.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Status": { - "description": "Status of a transaction entry on the books of the account servicer.", - "type": "string", - "enum": [ - "Booked", - "Pending" - ] - }, - "TransactionMutability": { - "description": "Specifies the Mutability of the Transaction record.", - "type": "string", - "enum": [ - "Mutable", - "Immutable" - ] - }, - "BookingDateTime": { - "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ValueDateTime": { - "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "format": "date-time" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "AddressLine": { - "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money in the cash transaction entry.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "ChargeAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Transaction charges to be paid by the charge bearer.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "CurrencyExchange": { - "type": "object", - "required": [ - "SourceCurrency", - "ExchangeRate" - ], - "description": "Set of elements used to provide details on the currency exchange.", - "properties": { - "SourceCurrency": { - "description": "Currency from which an amount is to be converted in a currency conversion.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "TargetCurrency": { - "description": "Currency into which an amount is to be converted in a currency conversion.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).", - "type": "number" - }, - "ContractIdentification": { - "description": "Unique identification to unambiguously identify the foreign exchange contract.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "QuotationDate": { - "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "InstructedAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - }, - "BankTransactionCode": { - "type": "object", - "required": [ - "Code", - "SubCode" - ], - "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry.", - "properties": { - "Code": { - "description": "Specifies the family within a domain.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "SubCode": { - "description": "Specifies the sub-product family within a specific family.", - "type": "string", - "minLength": 1, - "maxLength": 4 - } - } - }, - "ProprietaryBankTransactionCode": { - "type": "object", - "required": [ - "Code" - ], - "description": "Set of elements to fully identify a proprietary bank transaction code.", - "properties": { - "Code": { - "description": "Proprietary bank transaction code to identify the underlying transaction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Issuer": { - "description": "Identification of the issuer of the proprietary bank transaction code.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - }, - "additionalProperties": false - }, - "CardInstrument": { - "type": "object", - "required": [ - "CardSchemeName" - ], - "description": "Set of elements to describe the card instrument used in the transaction.", - "properties": { - "CardSchemeName": { - "description": "Name of the card scheme.", - "type": "string", - "enum": [ - "AmericanExpress", - "Diners", - "Discover", - "MasterCard", - "VISA" - ] - }, - "AuthorisationType": { - "description": "The card authorisation type.", - "type": "string", - "enum": [ - "ConsumerDevice", - "Contactless", - "None", - "PIN" - ] - }, - "Name": { - "description": "Name of the cardholder using the card instrument.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Identification": { - "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked.", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - }, - "additionalProperties": false - }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } }, - "additionalProperties": false + "description": "Amount of money associated with the offer type." }, - { - "type": "object", - "description": "Provides further details on an entry in the report.", + "Fee": { "required": [ - "AccountId", - "CreditDebitIndicator", - "Status", - "BookingDateTime", - "Amount" + "Amount", + "Currency" ], + "type": "object", "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "minLength": 1, - "maxLength": 40 + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "TransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "TransactionReference": { - "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context.", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Fee associated with the offer type." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Offer": { + "type": "array", + "items": { + "required": [ + "AccountId" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "OfferId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner." + }, + "OfferType": { + "type": "string", + "description": "Offer type, in a coded form.", + "enum": [ + "BalanceTransfer", + "LimitIncrease", + "MoneyTransfer", + "Other", + "PromotionalRate" + ] + }, + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the offer." + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the offer starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the offer ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the offer type." + }, + "Value": { + "type": "integer", + "description": "Value associated with the offer type." + }, + "Term": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the term of the offer." + }, + "URL": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "URL (Uniform Resource Locator) where documentation on the offer can be found" + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "StatementReference": { - "type": "array", - "items": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "CreditDebitIndicator": { - "description": "Indicates whether the transaction is a credit or a debit entry.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Status": { - "description": "Status of a transaction entry on the books of the account servicer.", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the offer type." + }, + "Fee": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "enum": [ - "Booked", - "Pending" - ] + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "TransactionMutability": { - "description": "Specifies the Mutability of the Transaction record.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "enum": [ - "Mutable", - "Immutable" - ] - }, - "BookingDateTime": { - "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Fee associated with the offer type." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Offer": { + "type": "array", + "items": { + "required": [ + "AccountId" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "OfferId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner." + }, + "OfferType": { + "type": "string", + "description": "Offer type, in a coded form.", + "enum": [ + "BalanceTransfer", + "LimitIncrease", + "MoneyTransfer", + "Other", + "PromotionalRate" + ] + }, + "Description": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the offer." + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the offer starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the offer ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the offer type." + }, + "Value": { + "type": "integer", + "description": "Value associated with the offer type." + }, + "Term": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the term of the offer." + }, + "URL": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "URL (Uniform Resource Locator) where documentation on the offer can be found" + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "format": "date-time" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "ValueDateTime": { - "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "format": "date-time" - }, - "TransactionInformation": { - "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text.", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the offer type." + }, + "Fee": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "minLength": 1, - "maxLength": 500 + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "AddressLine": { - "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money in the cash transaction entry.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "ChargeAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Transaction charges to be paid by the charge bearer.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "CurrencyExchange": { - "type": "object", - "required": [ - "SourceCurrency", - "ExchangeRate" - ], - "description": "Set of elements used to provide details on the currency exchange.", - "properties": { - "SourceCurrency": { - "description": "Currency from which an amount is to be converted in a currency conversion.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "TargetCurrency": { - "description": "Currency into which an amount is to be converted in a currency conversion.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).", - "type": "number" - }, - "ContractIdentification": { - "description": "Unique identification to unambiguously identify the foreign exchange contract.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "QuotationDate": { - "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "InstructedAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - }, - "BankTransactionCode": { - "type": "object", - "required": [ - "Code", - "SubCode" - ], - "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry.", - "properties": { - "Code": { - "description": "Specifies the family within a domain.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "SubCode": { - "description": "Specifies the sub-product family within a specific family.", - "type": "string", - "minLength": 1, - "maxLength": 4 - } - } - }, - "ProprietaryBankTransactionCode": { - "type": "object", - "required": [ - "Code" - ], - "description": "Set of elements to fully identify a proprietary bank transaction code.", - "properties": { - "Code": { - "description": "Proprietary bank transaction code to identify the underlying transaction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Issuer": { - "description": "Identification of the issuer of the proprietary bank transaction code.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - }, - "additionalProperties": false - }, - "Balance": { - "type": "object", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account.", - "properties": { - "CreditDebitIndicator": { - "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Balance type, in a coded form.", - "type": "string", - "enum": [ - "ClosingAvailable", - "ClosingBooked", - "ClosingCleared", - "Expected", - "ForwardAvailable", - "Information", - "InterimAvailable", - "InterimBooked", - "InterimCleared", - "OpeningAvailable", - "OpeningBooked", - "OpeningCleared", - "PreviouslyClosedBooked" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money of the cash balance after a transaction entry is applied to the account..", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - }, - "additionalProperties": false - }, - "MerchantDetails": { - "type": "object", - "description": "Details of the merchant involved in the transaction.", - "properties": { - "MerchantName": { - "description": "Name by which the merchant is known.", - "type": "string", - "minLength": 1, - "maxLength": 350 - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - } - } - }, - "CreditorAgent": { - "type": "object", - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAccount": { - "type": "object", - "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "DebtorAgent": { - "type": "object", - "description": "Financial institution servicing an account for the debtor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "DebtorAccount": { - "type": "object", - "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "CardInstrument": { - "type": "object", - "required": [ - "CardSchemeName" - ], - "description": "Set of elements to describe the card instrument used in the transaction.", - "properties": { - "CardSchemeName": { - "description": "Name of the card scheme.", - "type": "string", - "enum": [ - "AmericanExpress", - "Diners", - "Discover", - "MasterCard", - "VISA" - ] - }, - "AuthorisationType": { - "description": "The card authorisation type.", - "type": "string", - "enum": [ - "ConsumerDevice", - "Contactless", - "None", - "PIN" - ] - }, - "Name": { - "description": "Name of the cardholder using the card instrument.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Identification": { - "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked.", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - }, - "additionalProperties": false - }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } }, - "additionalProperties": false + "description": "Fee associated with the offer type." } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } - }, - "additionalProperties": false + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } } - }, - "additionalProperties": false, - "required": [ - "Self" - ] + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } } - }, - "additionalProperties": false + } } }, - "additionalProperties": false - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -23686,95 +64754,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -23806,408 +64847,841 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/party": { + "get": { + "tags": [ + "Parties" + ], + "summary": "Get Parties", + "operationId": "GetParty", + "parameters": [ + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Parties Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Party": { + "required": [ + "PartyId" + ], + "type": "object", + "properties": { + "PartyId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner." + }, + "PartyNumber": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number assigned by an agent to identify its customer." + }, + "PartyType": { + "type": "string", + "description": "Party type, in a coded form.", + "enum": [ + "Delegate", + "Joint", + "Sole" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "FullLegalName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 350 characters." + }, + "LegalStructure": { + "type": "string", + "description": "Legal standing of the party.", + "x-namespaced-enum": [ + "UK.OBIE.CIC", + "UK.OBIE.CIO", + "UK.OBIE.Charity", + "UK.OBIE.CoOp", + "UK.OBIE.GeneralPartnership", + "UK.OBIE.Individual", + "UK.OBIE.LimitedLiabilityPartnership", + "UK.OBIE.LimitedPartnership", + "UK.OBIE.PrivateLimitedCompany", + "UK.OBIE.PublicLimitedCompany", + "UK.OBIE.ScottishLimitedPartnership", + "UK.OBIE.Sole" + ] + }, + "BeneficialOwnership": { + "type": "boolean" + }, + "AccountRole": { + "type": "string", + "description": "A party’s role with respect to the related account.", + "x-namespaced-enum": [ + "UK.OBIE.Administrator", + "UK.OBIE.Beneficiary", + "UK.OBIE.CustodianForMinor", + "UK.OBIE.Granter", + "UK.OBIE.LegalGuardian", + "UK.OBIE.OtherParty", + "UK.OBIE.PowerOfAttorney", + "UK.OBIE.Principal", + "UK.OBIE.Protector", + "UK.OBIE.RegisteredShareholderName", + "UK.OBIE.SecondaryOwner", + "UK.OBIE.SeniorManagingOfficial", + "UK.OBIE.Settlor", + "UK.OBIE.SuccessorOnDeath" + ] + }, + "EmailAddress": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Address for electronic mail (e-mail)." + }, + "Phone": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a phone number, as defined by telecom services." + }, + "Mobile": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a mobile phone number, as defined by telecom services." + }, + "Relationships": { + "type": "object", + "properties": { + "Account": { + "required": [ + "Id", + "Related" + ], + "type": "object", + "properties": { + "Related": { + "type": "string", + "description": "Absolute URI to the related resource.", + "format": "uri" + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource." + } + }, + "description": "Relationship to the Account resource." + } + }, + "description": "The Party's relationships with other resources." + }, + "Address": { + "type": "array", + "items": { + "required": [ + "Country" + ], + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "AddressLine": { + "maxItems": 5, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country eg, state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Postal address of a party." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Party": { + "required": [ + "PartyId" + ], + "type": "object", + "properties": { + "PartyId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner." + }, + "PartyNumber": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number assigned by an agent to identify its customer." + }, + "PartyType": { + "type": "string", + "description": "Party type, in a coded form.", + "enum": [ + "Delegate", + "Joint", + "Sole" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "FullLegalName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 350 characters." + }, + "LegalStructure": { + "type": "string", + "description": "Legal standing of the party.", + "x-namespaced-enum": [ + "UK.OBIE.CIC", + "UK.OBIE.CIO", + "UK.OBIE.Charity", + "UK.OBIE.CoOp", + "UK.OBIE.GeneralPartnership", + "UK.OBIE.Individual", + "UK.OBIE.LimitedLiabilityPartnership", + "UK.OBIE.LimitedPartnership", + "UK.OBIE.PrivateLimitedCompany", + "UK.OBIE.PublicLimitedCompany", + "UK.OBIE.ScottishLimitedPartnership", + "UK.OBIE.Sole" + ] + }, + "BeneficialOwnership": { + "type": "boolean" + }, + "AccountRole": { + "type": "string", + "description": "A party’s role with respect to the related account.", + "x-namespaced-enum": [ + "UK.OBIE.Administrator", + "UK.OBIE.Beneficiary", + "UK.OBIE.CustodianForMinor", + "UK.OBIE.Granter", + "UK.OBIE.LegalGuardian", + "UK.OBIE.OtherParty", + "UK.OBIE.PowerOfAttorney", + "UK.OBIE.Principal", + "UK.OBIE.Protector", + "UK.OBIE.RegisteredShareholderName", + "UK.OBIE.SecondaryOwner", + "UK.OBIE.SeniorManagingOfficial", + "UK.OBIE.Settlor", + "UK.OBIE.SuccessorOnDeath" + ] + }, + "EmailAddress": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Address for electronic mail (e-mail)." + }, + "Phone": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a phone number, as defined by telecom services." + }, + "Mobile": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a mobile phone number, as defined by telecom services." + }, + "Relationships": { + "type": "object", + "properties": { + "Account": { + "required": [ + "Id", + "Related" + ], + "type": "object", + "properties": { + "Related": { + "type": "string", + "description": "Absolute URI to the related resource.", + "format": "uri" + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource." + } + }, + "description": "Relationship to the Account resource." + } + }, + "description": "The Party's relationships with other resources." + }, + "Address": { + "type": "array", + "items": { + "required": [ + "Country" + ], + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "AddressLine": { + "maxItems": 5, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country eg, state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Postal address of a party." + } + } } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 + "description": "Links relevant to the payload" }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } }, - "type": "array", - "minItems": 1 + "description": "Meta Data relevant to the payload" } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/balances": { - "get": { - "tags": [ - "Balances" - ], - "summary": "Get Balances", - "operationId": "GetBalances", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Balances Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } - } - }, - "content": { - "application/json": { + }, + "application/jose+jwe": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", - "required": [ - "Balance" - ], "properties": { - "Balance": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to define the balance details.", - "required": [ - "AccountId", - "CreditDebitIndicator", - "Type", - "DateTime", - "Amount" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Balance type, in a coded form.", - "type": "string", - "enum": [ - "ClosingAvailable", - "ClosingBooked", - "ClosingCleared", - "Expected", - "ForwardAvailable", - "Information", - "InterimAvailable", - "InterimBooked", - "InterimCleared", - "OpeningAvailable", - "OpeningBooked", - "OpeningCleared", - "PreviouslyClosedBooked" - ] - }, - "DateTime": { - "description": "Indicates the date (and time) of the balance.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "Party": { + "required": [ + "PartyId" + ], + "type": "object", + "properties": { + "PartyId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner." + }, + "PartyNumber": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number assigned by an agent to identify its customer." + }, + "PartyType": { + "type": "string", + "description": "Party type, in a coded form.", + "enum": [ + "Delegate", + "Joint", + "Sole" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "FullLegalName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 350 characters." + }, + "LegalStructure": { + "type": "string", + "description": "Legal standing of the party.", + "x-namespaced-enum": [ + "UK.OBIE.CIC", + "UK.OBIE.CIO", + "UK.OBIE.Charity", + "UK.OBIE.CoOp", + "UK.OBIE.GeneralPartnership", + "UK.OBIE.Individual", + "UK.OBIE.LimitedLiabilityPartnership", + "UK.OBIE.LimitedPartnership", + "UK.OBIE.PrivateLimitedCompany", + "UK.OBIE.PublicLimitedCompany", + "UK.OBIE.ScottishLimitedPartnership", + "UK.OBIE.Sole" + ] + }, + "BeneficialOwnership": { + "type": "boolean" + }, + "AccountRole": { + "type": "string", + "description": "A party’s role with respect to the related account.", + "x-namespaced-enum": [ + "UK.OBIE.Administrator", + "UK.OBIE.Beneficiary", + "UK.OBIE.CustodianForMinor", + "UK.OBIE.Granter", + "UK.OBIE.LegalGuardian", + "UK.OBIE.OtherParty", + "UK.OBIE.PowerOfAttorney", + "UK.OBIE.Principal", + "UK.OBIE.Protector", + "UK.OBIE.RegisteredShareholderName", + "UK.OBIE.SecondaryOwner", + "UK.OBIE.SeniorManagingOfficial", + "UK.OBIE.Settlor", + "UK.OBIE.SuccessorOnDeath" + ] + }, + "EmailAddress": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Address for electronic mail (e-mail)." + }, + "Phone": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a phone number, as defined by telecom services." + }, + "Mobile": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a mobile phone number, as defined by telecom services." + }, + "Relationships": { + "type": "object", + "properties": { + "Account": { + "required": [ + "Id", + "Related" + ], + "type": "object", + "properties": { + "Related": { + "type": "string", + "description": "Absolute URI to the related resource.", + "format": "uri" + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource." + } + }, + "description": "Relationship to the Account resource." + } }, - "Amount": { - "type": "object", + "description": "The Party's relationships with other resources." + }, + "Address": { + "type": "array", + "items": { "required": [ - "Amount", - "Currency" + "Country" ], - "description": "Amount of money of the cash balance.", + "type": "object", "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "AddressLine": { + "maxItems": 5, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "CreditLine": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details on the credit line.", - "required": [ - "Included" - ], - "properties": { - "Included": { - "description": "Indicates whether or not the credit line is included in the balance of the account.\nUsage: If not present, credit line is not included in the balance amount of the account.", - "type": "boolean" - }, - "Type": { - "description": "Limit type, in a coded form.", - "type": "string", - "enum": [ - "Available", - "Credit", - "Emergency", - "Pre-Agreed", - "Temporary" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money of the credit line.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country eg, state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." } - } + }, + "description": "Postal address of a party." } } - }, - "minItems": 1 + } } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -24230,35 +65704,30 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false + } } } } @@ -24274,36 +65743,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -24335,95 +65814,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -24455,134 +65907,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -24610,424 +65996,48 @@ "UK.OBIE.Unsupported.Currency", "UK.OBIE.Unsupported.Frequency", "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/beneficiaries": { - "get": { - "tags": [ - "Beneficiaries" - ], - "summary": "Get Beneficiaries", - "operationId": "GetBeneficiaries", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Beneficiaries Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "properties": { - "Beneficiary": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "object", - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "BeneficiaryId": { - "description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "BeneficiaryType": { - "description": "Specifies the Beneficiary Type.", - "type": "string", - "enum": [ - "Trusted", - "Ordinary" - ] - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - }, - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "BeneficiaryId": { - "description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "BeneficiaryType": { - "description": "Specifies the Beneficiary Type.", - "type": "string", - "enum": [ - "Trusted", - "Ordinary" - ] - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - }, - "CreditorAgent": { - "type": "object", - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAccount": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the beneficiary account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - }, - "additionalProperties": false, - "required": [ - "CreditorAccount" - ] - } - ] - } - } - } - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } } - }, - "additionalProperties": false + } } }, - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "400": { - "description": "Bad request", + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -25037,36 +66047,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -25098,95 +66118,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -25218,134 +66211,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -25377,111 +66304,56 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/direct-debits": { - "get": { - "tags": [ - "Direct Debits" - ], - "summary": "Get Direct Debits", - "operationId": "GetDirectDebits", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Direct Debits Read", + "406": { + "description": "Not Acceptable", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -25490,164 +66362,28 @@ } } }, - "content": { - "application/json": { + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "properties": { - "DirectDebit": { - "type": "array", - "items": { - "type": "object", - "description": "Account to or from which a cash entry is made.", - "required": [ - "AccountId", - "MandateIdentification", - "Name" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "DirectDebitId": { - "description": "A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "MandateIdentification": { - "description": "Direct Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "DirectDebitStatusCode": { - "description": "Specifies the status of the direct debit in code form.", - "type": "string", - "enum": [ - "Active", - "Inactive" - ] - }, - "Name": { - "description": "Name of Service User.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "PreviousPaymentDateTime": { - "description": "Date of most recent direct debit collection.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Frequency": { - "description": "Regularity with which direct debit instructions are to be created and processed.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Annual", - "UK.OBIE.Daily", - "UK.OBIE.Fortnightly", - "UK.OBIE.HalfYearly", - "UK.OBIE.Monthly", - "UK.OBIE.NotKnown", - "UK.OBIE.Quarterly", - "UK.OBIE.Weekly" - ] - }, - "PreviousPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the most recent direct debit collection.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - } - } - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" } } - } + }, + "content": {} }, - "400": { - "description": "Bad request", + "500": { + "description": "Internal Server Error", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -25657,36 +66393,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -25718,95 +66464,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -25838,134 +66557,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -25997,39 +66650,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -26044,56 +66684,52 @@ ] } }, - "/offers": { + "/products": { "get": { "tags": [ - "Offers" + "Products" ], - "summary": "Get Offers", - "operationId": "GetOffers", + "summary": "Get Products", + "operationId": "GetProducts", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -26101,7 +66737,7 @@ ], "responses": { "200": { - "description": "Offers Read", + "description": "Products Read", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -26111,865 +66747,15919 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", "properties": { - "Offer": { + "Product": { "type": "array", "items": { - "type": "object", "required": [ - "AccountId" + "AccountId", + "ProductType" ], + "type": "object", "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", + "ProductName": { + "maxLength": 350, + "minLength": 1, "type": "string", + "description": "The name of the Product used for marketing purposes from a customer perspective. I.e. what the customer would recognise." + }, + "ProductId": { + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "The unique ID that has been internally assigned by the financial institution to each of the current account banking products they market to their retail and/or small to medium enterprise (SME) customers." }, - "OfferId": { - "description": "A unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner.", + "AccountId": { + "maxLength": 40, + "minLength": 1, "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "SecondaryProductId": { + "maxLength": 70, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "Any secondary Identification which supports Product Identifier to uniquely identify the current account banking products." }, - "OfferType": { - "description": "Offer type, in a coded form.", + "ProductType": { "type": "string", + "description": "Product type : Personal Current Account, Business Current Account", "enum": [ - "BalanceTransfer", - "LimitIncrease", - "MoneyTransfer", + "BusinessCurrentAccount", + "CommercialCreditCard", "Other", - "PromotionalRate" + "PersonalCurrentAccount", + "SMELoan" ] }, - "Description": { - "description": "Further details of the offer.", - "type": "string", + "MarketingStateId": { + "maxLength": 35, "minLength": 1, - "maxLength": 500 - }, - "StartDateTime": { - "description": "Date and time at which the offer starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "EndDateTime": { - "description": "Date and time at which the offer ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Rate": { - "description": "Rate associated with the offer type.", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - }, - "Value": { - "description": "Value associated with the offer type.", - "type": "integer" + "description": "Unique and unambiguous identification of a Product Marketing State." }, - "Term": { - "description": "Further details of the term of the offer.", - "type": "string", - "minLength": 1, - "maxLength": 500 + "OtherProductType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Long name associated with the product" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description of the Product associated with the account" + }, + "ProductDetails": { + "type": "object", + "properties": { + "Segment": { + "type": "array", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd ", + "enum": [ + "GEAS", + "GEBA", + "GEBR", + "GEBU", + "GECI", + "GECS", + "GEFB", + "GEFG", + "GEG", + "GEGR", + "GEGS", + "GEOT", + "GEOV", + "GEPA", + "GEPR", + "GERE", + "GEST", + "GEYA", + "GEYO", + "PSCA", + "PSES", + "PSNC", + "PSNP", + "PSRG", + "PSSS", + "PSST", + "PSSW" + ] + } + }, + "FeeFreeLength": { + "type": "integer", + "description": "The length/duration of the fee free period" + }, + "FeeFreeLengthPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "MonthlyMaximumCharge": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Core product details" + } + }, + "OtherSegment": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + } + } + }, + "CreditInterest": { + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "Destination", + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the product holder's account balance", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "CalculationMethod": { + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "ITCO", + "ITOT", + "ITSI" + ] + }, + "Destination": { + "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", + "enum": [ + "INOT", + "INPA", + "INSC" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" + } + }, + "OtherCalculationMethod": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherDestination": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "TierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for the Product." + }, + "TierValueMinimum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "FQAT", + "FQDY", + "FQHY", + "FQMY", + "FQOT", + "FQQY", + "FQSD", + "FQWY", + "FQYY" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How often is interest applied to the Product for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's account.", + "enum": [ + "FQAT", + "FQDY", + "FQHY", + "FQMY", + "FQOT", + "FQQY", + "FQSD", + "FQWY", + "FQYY" + ] + }, + "DepositInterestAppliedCoverage": { + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "FixedVariableInterestRateType": { + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "INFI", + "INVA" + ] + }, + "AER": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the account holder's account.", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "BankInterestRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the product" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" + } + }, + "OtherBankInterestType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the Account holders" + }, + "Overdraft": { + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Associated Notes about the overdraft rates" + } + }, + "OverdraftTierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "OverdraftType": { + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "OVCO", + "OVOD", + "OVOT" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details" + } + }, + "OverdraftTierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "EAR": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "AgreementLengthMin": { + "type": "integer", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement" + }, + "AgreementLengthMax": { + "type": "integer", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement" + }, + "AgreementPeriod": { + "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "OverdraftInterestChargingCoverage": { + "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is �2k and the interest tiers are:- 0-�500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the �Whole� of the account balance, and in the 2nd that it is �Tiered�.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "BankGuaranteedIndicator": { + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier/band details" + } + }, + "OverdraftFeesCharges": { + "type": "array", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" + } + }, + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges" + } + } + }, + "description": "Provides overdraft details for a specific tier or band" + } + }, + "OverdraftFeesCharges": { + "type": "array", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" + } + }, + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Borrowing details" + }, + "LoanInterest": { + "required": [ + "LoanInterestTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the LoanInterest" + } + }, + "LoanInterestTierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "CalculationMethod", + "LoanInterestTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the SME Loan balance", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Loan interest tierbandset identification. Used by loan providers for internal use purpose." + }, + "CalculationMethod": { + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "ITCO", + "ITOT", + "ITSI" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" + } + }, + "OtherCalculationMethod": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "LoanInterestTierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "FixedVariableInterestRateType", + "MinTermPeriod", + "RepAPR", + "TierValueMinTerm", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a SME Loan." + }, + "TierValueMinimum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum loan value for which the loan interest tier applies." + }, + "TierValueMaximum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum loan value for which the loan interest tier applies." + }, + "TierValueMinTerm": { + "type": "integer", + "description": "Minimum loan term for which the loan interest tier applies." + }, + "MinTermPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Minimum Term", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "TierValueMaxTerm": { + "type": "integer", + "description": "Maximum loan term for which the loan interest tier applies." + }, + "MaxTermPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Maximum Term", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "FixedVariableInterestRateType": { + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "INFI", + "INVA" + ] + }, + "RepAPR": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nFor SME Loan, this APR is the representative APR which includes any account fees." + }, + "LoanProviderInterestRateType": { + "type": "string", + "description": "Interest rate types, other than APR, which financial institutions may use to describe the annual interest rate payable for the SME Loan.", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "LoanProviderInterestRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Loan provider Interest for the SME Loan product" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" + } + }, + "OtherLoanProviderInterestRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other loan interest rate types which are not available in the standard code list" + }, + "LoanInterestFeesCharges": { + "type": "array", + "items": { + "required": [ + "LoanInterestFeeChargeDetail" + ], + "type": "object", + "properties": { + "LoanInterestFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "CalculationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not in the standard rate type list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + } + }, + "description": "Other fees/charges details" + } + }, + "LoanInterestFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" + } + } + }, + "description": "Tier Band Details" + } + }, + "LoanInterestFeesCharges": { + "type": "array", + "items": { + "required": [ + "LoanInterestFeeChargeDetail" + ], + "type": "object", + "properties": { + "LoanInterestFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "CalculationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not in the standard rate type list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + } + }, + "description": "Other fees/charges details" + } + }, + "LoanInterestFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" + } + } + }, + "description": "The group of tiers or bands for which debit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the SME Loan holders" + }, + "Repayment": { + "type": "object", + "properties": { + "RepaymentType": { + "type": "string", + "description": "Repayment type", + "enum": [ + "USBA", + "USBU", + "USCI", + "USCS", + "USER", + "USFA", + "USFB", + "USFI", + "USIO", + "USOT", + "USPF", + "USRW", + "USSL" + ] + }, + "RepaymentFrequency": { + "type": "string", + "description": "Repayment frequency", + "enum": [ + "SMDA", + "SMFL", + "SMFO", + "SMHY", + "SMMO", + "SMOT", + "SMQU", + "SMWE", + "SMYE" + ] + }, + "AmountType": { + "type": "string", + "description": "The repayment is for paying just the interest only or both interest and capital or bullet amount or balance to date etc", + "enum": [ + "RABD", + "RABL", + "RACI", + "RAFC", + "RAIO", + "RALT", + "USOT" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Repayment" + } + }, + "OtherRepaymentType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other repayment type which is not in the standard code list" + }, + "OtherRepaymentFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other repayment frequency which is not in the standard code list" + }, + "OtherAmountType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other amount type which is not in the standard code list" + }, + "RepaymentFeeCharges": { + "required": [ + "RepaymentFeeChargeDetail" + ], + "type": "object", + "properties": { + "RepaymentFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "CalculationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + } + }, + "description": "Details about specific fees/charges that are applied for repayment" + } + }, + "RepaymentFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "RepaymentFeeChargeCap sets daily, weekly, monthly, yearly limits on the fees that are charged" + } + } + }, + "description": "Applicable fee/charges for repayment such as prepayment, full early repayment or non repayment." + }, + "RepaymentHoliday": { + "type": "array", + "items": { + "type": "object", + "properties": { + "MaxHolidayLength": { + "type": "integer", + "description": "The maximum length/duration of a Repayment Holiday" + }, + "MaxHolidayPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the repayment holiday", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding details for repayment holiday" + } + } + }, + "description": "Details of capital repayment holiday if any" + } + } + }, + "description": "Repayment details of the Loan product" + }, + "OtherFeesCharges": { + "type": "array", + "items": { + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "TariffType": { + "type": "string", + "description": "TariffType which defines the fee and charges.", + "enum": [ + "TTEL", + "TTMX", + "TTOT" + ] + }, + "TariffName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the tariff" + }, + "OtherTariffType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other tariff type which is not in the standard list." + }, + "FeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "FeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + }, + "OtherFeeCategoryType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeApplicableRange": { + "type": "object", + "properties": { + "MinimumAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" + } + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "Other product type details associated with the account." }, - "URL": { - "description": "URL (Uniform Resource Locator) where documentation on the offer can be found", - "type": "string", - "minLength": 1, - "maxLength": 256 + "BCA": { + "title": "BCA", + "type": "object", + "properties": { + "ProductDetails": { + "title": "ProductDetails", + "type": "object", + "properties": { + "Segment": { + "title": "Segment", + "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", + "enum": [ + "ClientAccount", + "Standard", + "NonCommercialChaitiesClbSoc", + "NonCommercialPublicAuthGovt", + "Religious", + "SectorSpecific", + "Startup", + "Switcher" + ] + } + }, + "FeeFreeLength": { + "title": "FeeFreeLength", + "type": "number", + "description": "The length/duration of the fee free period", + "format": "float" + }, + "FeeFreeLengthPeriod": { + "title": "FeeFreeLengthPeriod", + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Core product details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + } + } + }, + "CreditInterest": { + "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", + "items": { + "required": [ + "Destination", + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the BCA balance", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "CalculationMethod": { + "title": "CalculationMethod", + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "Compound", + "SimpleInterest" + ] + }, + "Destination": { + "title": "Destination", + "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", + "enum": [ + "PayAway", + "SelfCredit" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "TierBand": { + "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a BCA." + }, + "TierValueMinimum": { + "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How often is interest applied to the BCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's BCA.", + "enum": [ + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "DepositInterestAppliedCoverage": { + "title": "DepositInterestAppliedCoverage", + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "FixedVariableInterestRateType": { + "title": "FixedVariableInterestRateType", + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "Fixed", + "Variable" + ] + }, + "AER": { + "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "title": "BankInterestRateType", + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the BCA.", + "enum": [ + "Gross", + "Other" + ] + }, + "BankInterestRate": { + "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the BCA product" + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherBankInterestType": { + "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the BCA account holders" + }, + "Overdraft": { + "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "title": "Notes", + "type": "array", + "description": "Associated Notes about the overdraft rates", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBandSet": { + "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "OverdraftType": { + "title": "OverdraftType", + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "Committed", + "OnDemand" + ] + }, + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "title": "AuthorisedIndicator", + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBand": { + "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "EAR": { + "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "RepresentativeAPR": { + "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." + }, + "AgreementLengthMin": { + "title": "AgreementLengthMin", + "type": "number", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement", + "format": "float" + }, + "AgreementLengthMax": { + "title": "AgreementLengthMax", + "type": "number", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement", + "format": "float" + }, + "AgreementPeriod": { + "title": "AgreementPeriod", + "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "OverdraftInterestChargingCoverage": { + "title": "OverdraftInterestChargingCoverage", + "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is £2k and the interest tiers are:- 0-£500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the ‘Whole’ of the account balance, and in the 2nd that it is ‘Tiered’.", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "BankGuaranteedIndicator": { + "title": "BankGuaranteedIndicator", + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "NegotiableIndicator": { + "title": "NegotiableIndicator", + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "Gross", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges" + } + } + }, + "description": "Provides overdraft details for a specific tier or band" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "NegotiableIndicator": { + "title": "NegotiableIndicator", + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "Gross", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Borrowing details" + }, + "OtherFeesCharges": { + "title": "OtherFeesCharges", + "type": "array", + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", + "items": { + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "TariffType": { + "title": "TariffType", + "type": "string", + "description": "TariffType which defines the fee and charges.", + "enum": [ + "Electronic", + "Mixed", + "Other" + ] + }, + "TariffName": { + "title": "TariffName", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the tariff" + }, + "OtherTariffType": { + "title": "OtherTariffType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other tariff type which is not in the standard list." + }, + "FeeChargeDetail": { + "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "Other", + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCAccountFeeQuarterly", + "ServiceCFixedTariff", + "ServiceCBusiDepAccBreakage", + "ServiceCMinimumMonthlyFee", + "ServiceCOther" + ] + }, + "NegotiableIndicator": { + "title": "NegotiableIndicator", + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "Gross", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "Other", + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCAccountFeeQuarterly", + "ServiceCFixedTariff", + "ServiceCBusiDepAccBreakage", + "ServiceCMinimumMonthlyFee", + "ServiceCOther" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + }, + "OtherFeeCategoryType": { + "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeApplicableRange": { + "title": "FeeApplicableRange", + "type": "object", + "properties": { + "MinimumAmount": { + "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "Other", + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCAccountFeeQuarterly", + "ServiceCFixedTariff", + "ServiceCBusiDepAccBreakage", + "ServiceCMinimumMonthlyFee", + "ServiceCOther" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" + } + } + } }, - "Amount": { + "PCA": { + "title": "PCA", "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the offer type.", "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "ProductDetails": { + "title": "ProductDetails", + "type": "object", + "properties": { + "Segment": { + "title": "Segment", + "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", + "enum": [ + "Basic", + "BenefitAndReward", + "CreditInterest", + "Cashback", + "General", + "Graduate", + "Other", + "Overdraft", + "Packaged", + "Premium", + "Reward", + "Student", + "YoungAdult", + "Youth" + ] + } + }, + "MonthlyMaximumCharge": { + "title": "MonthlyMaximumCharge", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Core product details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + } + } + }, + "CreditInterest": { + "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", + "items": { + "required": [ + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the PCA balance", + "enum": [ + "Tiered", + "Whole" + ] + }, + "CalculationMethod": { + "title": "CalculationMethod", + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "Compound", + "SimpleInterest" + ] + }, + "Destination": { + "title": "Destination", + "type": "string", + "description": "Describes whether accrued interest is payable only to the PCA or to another bank account", + "enum": [ + "PayAway", + "SelfCredit" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "TierBand": { + "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a PCA." + }, + "TierValueMinimum": { + "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "PerAcademicTerm", + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How often is interest applied to the PCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's PCA.", + "enum": [ + "PerAcademicTerm", + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "DepositInterestAppliedCoverage": { + "title": "DepositInterestAppliedCoverage", + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "Tiered", + "Whole" + ] + }, + "FixedVariableInterestRateType": { + "title": "FixedVariableInterestRateType", + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "Fixed", + "Variable" + ] + }, + "AER": { + "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "title": "BankInterestRateType", + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the PCA.", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "BankInterestRate": { + "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the PCA product" + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherBankInterestType": { + "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the PCA account holders" }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "Fee": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Fee associated with the offer type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "Overdraft": { + "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "title": "Notes", + "type": "array", + "description": "Associated Notes about the overdraft rates", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBandSet": { + "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "Tiered", + "Whole", + "Banded" + ] + }, + "OverdraftType": { + "title": "OverdraftType", + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "Committed", + "OnDemand", + "Other" + ] + }, + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "title": "AuthorisedIndicator", + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBand": { + "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "OverdraftInterestChargingCoverage": { + "title": "OverdraftInterestChargingCoverage", + "type": "string", + "description": "Interest charged on whole amount or tiered/banded", + "enum": [ + "Tiered", + "Whole" + ] + }, + "BankGuaranteedIndicator": { + "title": "BankGuaranteedIndicator", + "type": "boolean", + "description": "Indicates that a bank provides the overdraft limit up to TierValueMIn to all customers automatically" + }, + "EAR": { + "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "RepresentativeAPR": { + "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges" + } + } + }, + "description": "Provides overdraft details for a specific tier or band" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Details about Overdraft rates, fees & charges" }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" + "OtherFeesCharges": { + "title": "OtherFeesCharges", + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "FeeChargeDetail": { + "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeCategoryType": { + "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "FeeApplicableRange": { + "title": "FeeApplicableRange", + "type": "object", + "properties": { + "MinimumAmount": { + "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either borrowing or features/benefits" } } - } - } - } - } - } - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/party": { - "get": { - "tags": [ - "Parties" - ], - "summary": "Get Parties", - "operationId": "GetParty", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Parties Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } + }, + "description": "Product details associated with the Account" + } + } + }, + "description": "Aligning with the read write specs structure." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + }, + "description": "Product details of Other Product which is not avaiable in the standard list" } - } - }, - "content": { + }, "application/json": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", "properties": { - "Party": { - "type": "object", - "required": [ - "PartyId" - ], - "properties": { - "PartyId": { - "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "PartyNumber": { - "description": "Number assigned by an agent to identify its customer.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "PartyType": { - "description": "Party type, in a coded form.", - "type": "string", - "enum": [ - "Delegate", - "Joint", - "Sole" - ] - }, - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "FullLegalName": { - "description": "Specifies a character string with a maximum length of 350 characters.", - "type": "string", - "minLength": 1, - "maxLength": 350 - }, - "LegalStructure": { - "description": "Legal standing of the party.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.CIC", - "UK.OBIE.CIO", - "UK.OBIE.Charity", - "UK.OBIE.CoOp", - "UK.OBIE.GeneralPartnership", - "UK.OBIE.Individual", - "UK.OBIE.LimitedLiabilityPartnership", - "UK.OBIE.LimitedPartnership", - "UK.OBIE.PrivateLimitedCompany", - "UK.OBIE.PublicLimitedCompany", - "UK.OBIE.ScottishLimitedPartnership", - "UK.OBIE.Sole" - ] - }, - "BeneficialOwnership": { - "type": "boolean" - }, - "AccountRole": { - "description": "A party’s role with respect to the related account.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Administrator", - "UK.OBIE.Beneficiary", - "UK.OBIE.CustodianForMinor", - "UK.OBIE.Granter", - "UK.OBIE.LegalGuardian", - "UK.OBIE.OtherParty", - "UK.OBIE.PowerOfAttorney", - "UK.OBIE.Principal", - "UK.OBIE.Protector", - "UK.OBIE.RegisteredShareholderName", - "UK.OBIE.SecondaryOwner", - "UK.OBIE.SeniorManagingOfficial", - "UK.OBIE.Settlor", - "UK.OBIE.SuccessorOnDeath" - ] - }, - "EmailAddress": { - "description": "Address for electronic mail (e-mail).", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Phone": { - "description": "Collection of information that identifies a phone number, as defined by telecom services.", - "type": "string", - "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}" - }, - "Mobile": { - "description": "Collection of information that identifies a mobile phone number, as defined by telecom services.", - "type": "string", - "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}" - }, - "Relationships": { - "type": "object", - "description": "The Party's relationships with other resources.", - "properties": { - "Account": { - "type": "object", - "required": [ - "Related", - "Id" - ], - "description": "Relationship to the Account resource.", - "properties": { - "Related": { - "description": "Absolute URI to the related resource.", - "type": "string", - "format": "uri" + "Product": { + "type": "array", + "items": { + "required": [ + "AccountId", + "ProductType" + ], + "type": "object", + "properties": { + "ProductName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The name of the Product used for marketing purposes from a customer perspective. I.e. what the customer would recognise." + }, + "ProductId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "The unique ID that has been internally assigned by the financial institution to each of the current account banking products they market to their retail and/or small to medium enterprise (SME) customers." + }, + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "SecondaryProductId": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Any secondary Identification which supports Product Identifier to uniquely identify the current account banking products." + }, + "ProductType": { + "type": "string", + "description": "Product type : Personal Current Account, Business Current Account", + "enum": [ + "BusinessCurrentAccount", + "CommercialCreditCard", + "Other", + "PersonalCurrentAccount", + "SMELoan" + ] + }, + "MarketingStateId": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Product Marketing State." + }, + "OtherProductType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Long name associated with the product" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description of the Product associated with the account" + }, + "ProductDetails": { + "type": "object", + "properties": { + "Segment": { + "type": "array", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd ", + "enum": [ + "GEAS", + "GEBA", + "GEBR", + "GEBU", + "GECI", + "GECS", + "GEFB", + "GEFG", + "GEG", + "GEGR", + "GEGS", + "GEOT", + "GEOV", + "GEPA", + "GEPR", + "GERE", + "GEST", + "GEYA", + "GEYO", + "PSCA", + "PSES", + "PSNC", + "PSNP", + "PSRG", + "PSSS", + "PSST", + "PSSW" + ] + } + }, + "FeeFreeLength": { + "type": "integer", + "description": "The length/duration of the fee free period" + }, + "FeeFreeLengthPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "MonthlyMaximumCharge": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Core product details" + } + }, + "OtherSegment": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + } + } + }, + "CreditInterest": { + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "Destination", + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the product holder's account balance", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "CalculationMethod": { + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "ITCO", + "ITOT", + "ITSI" + ] + }, + "Destination": { + "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", + "enum": [ + "INOT", + "INPA", + "INSC" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" + } + }, + "OtherCalculationMethod": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherDestination": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "TierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for the Product." + }, + "TierValueMinimum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "FQAT", + "FQDY", + "FQHY", + "FQMY", + "FQOT", + "FQQY", + "FQSD", + "FQWY", + "FQYY" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How often is interest applied to the Product for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's account.", + "enum": [ + "FQAT", + "FQDY", + "FQHY", + "FQMY", + "FQOT", + "FQQY", + "FQSD", + "FQWY", + "FQYY" + ] + }, + "DepositInterestAppliedCoverage": { + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "FixedVariableInterestRateType": { + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "INFI", + "INVA" + ] + }, + "AER": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the account holder's account.", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "BankInterestRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the product" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" + } + }, + "OtherBankInterestType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the Account holders" + }, + "Overdraft": { + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Associated Notes about the overdraft rates" + } + }, + "OverdraftTierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "OverdraftType": { + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "OVCO", + "OVOD", + "OVOT" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details" + } + }, + "OverdraftTierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "EAR": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "AgreementLengthMin": { + "type": "integer", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement" + }, + "AgreementLengthMax": { + "type": "integer", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement" + }, + "AgreementPeriod": { + "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "OverdraftInterestChargingCoverage": { + "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is �2k and the interest tiers are:- 0-�500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the �Whole� of the account balance, and in the 2nd that it is �Tiered�.", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "BankGuaranteedIndicator": { + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier/band details" + } + }, + "OverdraftFeesCharges": { + "type": "array", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" + } + }, + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges" + } + } + }, + "description": "Provides overdraft details for a specific tier or band" + } + }, + "OverdraftFeesCharges": { + "type": "array", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" + } + }, + "OverdraftFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Notes related to Overdraft fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Borrowing details" + }, + "LoanInterest": { + "required": [ + "LoanInterestTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the LoanInterest" + } + }, + "LoanInterestTierBandSet": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "CalculationMethod", + "LoanInterestTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the SME Loan balance", + "enum": [ + "INBA", + "INTI", + "INWH" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Loan interest tierbandset identification. Used by loan providers for internal use purpose." + }, + "CalculationMethod": { + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "ITCO", + "ITOT", + "ITSI" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" + } + }, + "OtherCalculationMethod": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "LoanInterestTierBand": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "FixedVariableInterestRateType", + "MinTermPeriod", + "RepAPR", + "TierValueMinTerm", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a SME Loan." + }, + "TierValueMinimum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum loan value for which the loan interest tier applies." + }, + "TierValueMaximum": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum loan value for which the loan interest tier applies." + }, + "TierValueMinTerm": { + "type": "integer", + "description": "Minimum loan term for which the loan interest tier applies." + }, + "MinTermPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Minimum Term", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "TierValueMaxTerm": { + "type": "integer", + "description": "Maximum loan term for which the loan interest tier applies." + }, + "MaxTermPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Maximum Term", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "FixedVariableInterestRateType": { + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "INFI", + "INVA" + ] + }, + "RepAPR": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nFor SME Loan, this APR is the representative APR which includes any account fees." + }, + "LoanProviderInterestRateType": { + "type": "string", + "description": "Interest rate types, other than APR, which financial institutions may use to describe the annual interest rate payable for the SME Loan.", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "LoanProviderInterestRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Loan provider Interest for the SME Loan product" + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" + } + }, + "OtherLoanProviderInterestRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other loan interest rate types which are not available in the standard code list" + }, + "LoanInterestFeesCharges": { + "type": "array", + "items": { + "required": [ + "LoanInterestFeeChargeDetail" + ], + "type": "object", + "properties": { + "LoanInterestFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "CalculationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not in the standard rate type list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + } + }, + "description": "Other fees/charges details" + } + }, + "LoanInterestFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" + } + } + }, + "description": "Tier Band Details" + } + }, + "LoanInterestFeesCharges": { + "type": "array", + "items": { + "required": [ + "LoanInterestFeeChargeDetail" + ], + "type": "object", + "properties": { + "LoanInterestFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "CalculationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not in the standard rate type list" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + } + }, + "description": "Other fees/charges details" + } + }, + "LoanInterestFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" + } + } + }, + "description": "The group of tiers or bands for which debit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the SME Loan holders" + }, + "Repayment": { + "type": "object", + "properties": { + "RepaymentType": { + "type": "string", + "description": "Repayment type", + "enum": [ + "USBA", + "USBU", + "USCI", + "USCS", + "USER", + "USFA", + "USFB", + "USFI", + "USIO", + "USOT", + "USPF", + "USRW", + "USSL" + ] + }, + "RepaymentFrequency": { + "type": "string", + "description": "Repayment frequency", + "enum": [ + "SMDA", + "SMFL", + "SMFO", + "SMHY", + "SMMO", + "SMOT", + "SMQU", + "SMWE", + "SMYE" + ] + }, + "AmountType": { + "type": "string", + "description": "The repayment is for paying just the interest only or both interest and capital or bullet amount or balance to date etc", + "enum": [ + "RABD", + "RABL", + "RACI", + "RAFC", + "RAIO", + "RALT", + "USOT" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the Repayment" + } + }, + "OtherRepaymentType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other repayment type which is not in the standard code list" + }, + "OtherRepaymentFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other repayment frequency which is not in the standard code list" + }, + "OtherAmountType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other amount type which is not in the standard code list" + }, + "RepaymentFeeCharges": { + "required": [ + "RepaymentFeeChargeDetail" + ], + "type": "object", + "properties": { + "RepaymentFeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "CalculationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + } + }, + "description": "Details about specific fees/charges that are applied for repayment" + } + }, + "RepaymentFeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "RepaymentFeeChargeCap sets daily, weekly, monthly, yearly limits on the fees that are charged" + } + } + }, + "description": "Applicable fee/charges for repayment such as prepayment, full early repayment or non repayment." + }, + "RepaymentHoliday": { + "type": "array", + "items": { + "type": "object", + "properties": { + "MaxHolidayLength": { + "type": "integer", + "description": "The maximum length/duration of a Repayment Holiday" + }, + "MaxHolidayPeriod": { + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the repayment holiday", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding details for repayment holiday" + } + } + }, + "description": "Details of capital repayment holiday if any" + } + } + }, + "description": "Repayment details of the Loan product" + }, + "OtherFeesCharges": { + "type": "array", + "items": { + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "TariffType": { + "type": "string", + "description": "TariffType which defines the fee and charges.", + "enum": [ + "TTEL", + "TTMX", + "TTOT" + ] + }, + "TariffName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the tariff" + }, + "OtherTariffType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other tariff type which is not in the standard list." + }, + "FeeChargeDetail": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "FeeType": { + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + }, + "NegotiableIndicator": { + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "ApplicationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "CalculationFrequency": { + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "FEAC", + "FEAO", + "FECP", + "FEDA", + "FEHO", + "FEI", + "FEMO", + "FEOA", + "FEOT", + "FEPC", + "FEPH", + "FEPO", + "FEPS", + "FEPT", + "FEPTA", + "FEPTP", + "FEQU", + "FESM", + "FEST", + "FEWE", + "FEYE" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." + } + }, + "FeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + }, + "OtherFeeCategoryType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "FCOT", + "FCRE", + "FCSV" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeApplicableRange": { + "type": "object", + "properties": { + "MinimumAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "type": "array", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "minItems": 1, + "type": "array", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "FEPF", + "FTOT", + "FYAF", + "FYAM", + "FYAQ", + "FYCP", + "FYDB", + "FYMI", + "FYXX" + ] + } + }, + "MinMaxType": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "FeeCapOccurrence": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "FeeCapAmount": { + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "Notes": { + "type": "array", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "Free text for adding extra details for fee charge cap" + } + }, + "OtherFeeType": { + "type": "array", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "pattern": "^\\\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" + } + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "Other product type details associated with the account." + }, + "BCA": { + "title": "BCA", + "type": "object", + "properties": { + "ProductDetails": { + "title": "ProductDetails", + "type": "object", + "properties": { + "Segment": { + "title": "Segment", + "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", + "enum": [ + "ClientAccount", + "Standard", + "NonCommercialChaitiesClbSoc", + "NonCommercialPublicAuthGovt", + "Religious", + "SectorSpecific", + "Startup", + "Switcher" + ] + } + }, + "FeeFreeLength": { + "title": "FeeFreeLength", + "type": "number", + "description": "The length/duration of the fee free period", + "format": "float" + }, + "FeeFreeLengthPeriod": { + "title": "FeeFreeLengthPeriod", + "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Core product details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + } + } + }, + "CreditInterest": { + "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", + "items": { + "required": [ + "Destination", + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the BCA balance", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "CalculationMethod": { + "title": "CalculationMethod", + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "Compound", + "SimpleInterest" + ] + }, + "Destination": { + "title": "Destination", + "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", + "enum": [ + "PayAway", + "SelfCredit" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "TierBand": { + "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a BCA." + }, + "TierValueMinimum": { + "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How often is interest applied to the BCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's BCA.", + "enum": [ + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "DepositInterestAppliedCoverage": { + "title": "DepositInterestAppliedCoverage", + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "FixedVariableInterestRateType": { + "title": "FixedVariableInterestRateType", + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "Fixed", + "Variable" + ] + }, + "AER": { + "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "title": "BankInterestRateType", + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the BCA.", + "enum": [ + "Gross", + "Other" + ] + }, + "BankInterestRate": { + "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the BCA product" + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherBankInterestType": { + "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the BCA account holders" + }, + "Overdraft": { + "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "title": "Notes", + "type": "array", + "description": "Associated Notes about the overdraft rates", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBandSet": { + "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "OverdraftType": { + "title": "OverdraftType", + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "Committed", + "OnDemand" + ] + }, + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "title": "AuthorisedIndicator", + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBand": { + "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "EAR": { + "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "RepresentativeAPR": { + "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." + }, + "AgreementLengthMin": { + "title": "AgreementLengthMin", + "type": "number", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement", + "format": "float" + }, + "AgreementLengthMax": { + "title": "AgreementLengthMax", + "type": "number", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement", + "format": "float" + }, + "AgreementPeriod": { + "title": "AgreementPeriod", + "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "OverdraftInterestChargingCoverage": { + "title": "OverdraftInterestChargingCoverage", + "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is £2k and the interest tiers are:- 0-£500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the ‘Whole’ of the account balance, and in the 2nd that it is ‘Tiered’.", + "enum": [ + "Banded", + "Tiered", + "Whole" + ] + }, + "BankGuaranteedIndicator": { + "title": "BankGuaranteedIndicator", + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "NegotiableIndicator": { + "title": "NegotiableIndicator", + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "Gross", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges" + } + } + }, + "description": "Provides overdraft details for a specific tier or band" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "NegotiableIndicator": { + "title": "NegotiableIndicator", + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "Gross", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "AnnualReview", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Borrowing details" + }, + "OtherFeesCharges": { + "title": "OtherFeesCharges", + "type": "array", + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", + "items": { + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "TariffType": { + "title": "TariffType", + "type": "string", + "description": "TariffType which defines the fee and charges.", + "enum": [ + "Electronic", + "Mixed", + "Other" + ] + }, + "TariffName": { + "title": "TariffName", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the tariff" + }, + "OtherTariffType": { + "title": "OtherTariffType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other tariff type which is not in the standard list." + }, + "FeeChargeDetail": { + "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "Other", + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCAccountFeeQuarterly", + "ServiceCFixedTariff", + "ServiceCBusiDepAccBreakage", + "ServiceCMinimumMonthlyFee", + "ServiceCOther" + ] + }, + "NegotiableIndicator": { + "title": "NegotiableIndicator", + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "Gross", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "OnClosing", + "OnOpening", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAnniversary", + "Other", + "PerHundredPounds", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "Other", + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCAccountFeeQuarterly", + "ServiceCFixedTariff", + "ServiceCBusiDepAccBreakage", + "ServiceCMinimumMonthlyFee", + "ServiceCOther" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + }, + "OtherFeeCategoryType": { + "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeApplicableRange": { + "title": "FeeApplicableRange", + "type": "object", + "properties": { + "MinimumAmount": { + "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "Other", + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCAccountFeeQuarterly", + "ServiceCFixedTariff", + "ServiceCBusiDepAccBreakage", + "ServiceCMinimumMonthlyFee", + "ServiceCOther" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Min Max type", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" + } + } + }, + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" + } + } + } + }, + "PCA": { + "title": "PCA", + "type": "object", + "properties": { + "ProductDetails": { + "title": "ProductDetails", + "type": "object", + "properties": { + "Segment": { + "title": "Segment", + "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", + "items": { + "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", + "enum": [ + "Basic", + "BenefitAndReward", + "CreditInterest", + "Cashback", + "General", + "Graduate", + "Other", + "Overdraft", + "Packaged", + "Premium", + "Reward", + "Student", + "YoungAdult", + "Youth" + ] + } + }, + "MonthlyMaximumCharge": { + "title": "MonthlyMaximumCharge", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Core product details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + } + } + }, + "CreditInterest": { + "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", + "properties": { + "TierBandSet": { + "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", + "items": { + "required": [ + "TierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the PCA balance", + "enum": [ + "Tiered", + "Whole" + ] + }, + "CalculationMethod": { + "title": "CalculationMethod", + "type": "string", + "description": "Methods of calculating interest", + "enum": [ + "Compound", + "SimpleInterest" + ] + }, + "Destination": { + "title": "Destination", + "type": "string", + "description": "Describes whether accrued interest is payable only to the PCA or to another bank account", + "enum": [ + "PayAway", + "SelfCredit" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "TierBand": { + "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", + "items": { + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a PCA." + }, + "TierValueMinimum": { + "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum deposit value for which the credit interest tier applies." + }, + "TierValueMaximum": { + "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum deposit value for which the credit interest tier applies." + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is credit interest calculated for the account.", + "enum": [ + "PerAcademicTerm", + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How often is interest applied to the PCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's PCA.", + "enum": [ + "PerAcademicTerm", + "Daily", + "HalfYearly", + "Monthly", + "Other", + "Quarterly", + "PerStatementDate", + "Weekly", + "Yearly" + ] + }, + "DepositInterestAppliedCoverage": { + "title": "DepositInterestAppliedCoverage", + "type": "string", + "description": "Amount on which Interest applied.", + "enum": [ + "Tiered", + "Whole" + ] + }, + "FixedVariableInterestRateType": { + "title": "FixedVariableInterestRateType", + "type": "string", + "description": "Type of interest rate, Fixed or Variable", + "enum": [ + "Fixed", + "Variable" + ] + }, + "AER": { + "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" + }, + "BankInterestRateType": { + "title": "BankInterestRateType", + "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the PCA.", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "BankInterestRate": { + "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Bank Interest for the PCA product" + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherBankInterestType": { + "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other interest rate types which are not available in the standard code list" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + } + }, + "description": "Tier Band Details" + } + } + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } + } + }, + "description": "Details about the interest that may be payable to the PCA account holders" + }, + "Overdraft": { + "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", + "properties": { + "Notes": { + "title": "Notes", + "type": "array", + "description": "Associated Notes about the overdraft rates", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBandSet": { + "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", + "items": { + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], + "type": "object", + "properties": { + "TierBandMethod": { + "title": "TierBandMethod", + "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", + "enum": [ + "Tiered", + "Whole", + "Banded" + ] + }, + "OverdraftType": { + "title": "OverdraftType", + "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", + "enum": [ + "Committed", + "OnDemand", + "Other" + ] + }, + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." + }, + "AuthorisedIndicator": { + "title": "AuthorisedIndicator", + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" + }, + "BufferAmount": { + "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftTierBand": { + "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", + "items": { + "required": [ + "TierValueMin" + ], + "type": "object", + "properties": { + "Identification": { + "title": "Identification", + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." + }, + "TierValueMin": { + "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum value of Overdraft Tier/Band" + }, + "TierValueMax": { + "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum value of Overdraft Tier/Band" + }, + "OverdraftInterestChargingCoverage": { + "title": "OverdraftInterestChargingCoverage", + "type": "string", + "description": "Interest charged on whole amount or tiered/banded", + "enum": [ + "Tiered", + "Whole" + ] + }, + "BankGuaranteedIndicator": { + "title": "BankGuaranteedIndicator", + "type": "boolean", + "description": "Indicates that a bank provides the overdraft limit up to TierValueMIn to all customers automatically" + }, + "EAR": { + "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." + }, + "RepresentativeAPR": { + "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges" + } + } + }, + "description": "Provides overdraft details for a specific tier or band" + } + }, + "OverdraftFeesCharges": { + "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", + "items": { + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", + "properties": { + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "OverdraftFeeChargeDetail": { + "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", + "items": { + "required": [ + "ApplicationFrequency", + "FeeType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "IncrementalBorrowingAmount": { + "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + }, + "OverdraftFeeChargeCap": { + "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "ArrangedOverdraft", + "EmergencyBorrowing", + "BorrowingItem", + "OverdraftRenewal", + "AnnualReview", + "OverdraftSetup", + "Surcharge", + "TempOverdraft", + "UnauthorisedBorrowing", + "UnauthorisedPaidTrans", + "Other", + "UnauthorisedUnpaidTrans" + ] + } + }, + "OverdraftControlIndicator": { + "title": "OverdraftControlIndicator", + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Notes related to Overdraft fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Details about Overdraft rates, fees & charges" + }, + "OtherFeesCharges": { + "title": "OtherFeesCharges", + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "FeeChargeDetail": { + "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeCategoryType": { + "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "FeeApplicableRange": { + "title": "FeeApplicableRange", + "type": "object", + "properties": { + "MinimumAmount": { + "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + } }, - "Id": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - } + "description": "Contains details of fees and charges which are not associated with either borrowing or features/benefits" } } } }, - "Address": { - "type": "array", - "items": { - "type": "object", - "description": "Postal address of a party.", - "required": [ - "Country" - ], - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 5 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country eg, state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - } - } - } - } - }, - "additionalProperties": false + "description": "Product details associated with the Account" + } } - } + }, + "description": "Aligning with the read write specs structure." }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -26992,553 +82682,79 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false - } - }, - "additionalProperties": false - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "description": "Meta Data relevant to the payload" } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "Product details of Other Product which is not avaiable in the standard list" } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/products": { - "get": { - "tags": [ - "Products" - ], - "summary": "Get Products", - "operationId": "GetProducts", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Products Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "type": "object", "required": [ "Data" ], - "description": "Product details of Other Product which is not avaiable in the standard list", + "type": "object", "properties": { "Data": { "type": "object", - "description": "Aligning with the read write specs structure.", "properties": { "Product": { "type": "array", "items": { - "type": "object", - "description": "Product details associated with the Account", "required": [ "AccountId", "ProductType" ], + "type": "object", "properties": { "ProductName": { - "description": "The name of the Product used for marketing purposes from a customer perspective. I.e. what the customer would recognise.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "The name of the Product used for marketing purposes from a customer perspective. I.e. what the customer would recognise." }, "ProductId": { - "description": "The unique ID that has been internally assigned by the financial institution to each of the current account banking products they market to their retail and/or small to medium enterprise (SME) customers.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "The unique ID that has been internally assigned by the financial institution to each of the current account banking products they market to their retail and/or small to medium enterprise (SME) customers." }, "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." }, "SecondaryProductId": { - "description": "Any secondary Identification which supports Product Identifier to uniquely identify the current account banking products.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Any secondary Identification which supports Product Identifier to uniquely identify the current account banking products." }, "ProductType": { - "description": "Product type : Personal Current Account, Business Current Account", "type": "string", + "description": "Product type : Personal Current Account, Business Current Account", "enum": [ "BusinessCurrentAccount", "CommercialCreditCard", @@ -27548,30 +82764,29 @@ ] }, "MarketingStateId": { - "description": "Unique and unambiguous identification of a Product Marketing State.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Product Marketing State." }, "OtherProductType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other product type details associated with the account.", + "type": "object", "properties": { "Name": { - "description": "Long name associated with the product", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Long name associated with the product" }, "Description": { - "description": "Description of the Product associated with the account", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description of the Product associated with the account" }, "ProductDetails": { "type": "object", @@ -27579,8 +82794,8 @@ "Segment": { "type": "array", "items": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd ", "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd ", "enum": [ "GEAS", "GEBA", @@ -27613,12 +82828,12 @@ } }, "FeeFreeLength": { - "description": "The length/duration of the fee free period", - "type": "integer" + "type": "integer", + "description": "The length/duration of the fee free period" }, "FeeFreeLengthPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the promotional length", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", "enum": [ "PACT", "PDAY", @@ -27630,69 +82845,67 @@ ] }, "MonthlyMaximumCharge": { - "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" }, "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Core product details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Core product details" } }, "OtherSegment": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - }, - "additionalProperties": false + } } } }, "CreditInterest": { - "type": "object", "required": [ "TierBandSet" ], - "description": "Details about the interest that may be payable to the Account holders", + "type": "object", "properties": { "TierBandSet": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "The group of tiers or bands for which credit interest can be applied.", "required": [ - "TierBandMethod", "Destination", - "TierBand" + "TierBand", + "TierBandMethod" ], + "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how credit interest is paid/applied. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the product holder's account balance", "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the product holder's account balance", "enum": [ "INBA", "INTI", @@ -27700,8 +82913,8 @@ ] }, "CalculationMethod": { - "description": "Methods of calculating interest", "type": "string", + "description": "Methods of calculating interest", "enum": [ "ITCO", "ITOT", @@ -27709,8 +82922,8 @@ ] }, "Destination": { - "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", "enum": [ "INOT", "INPA", @@ -27720,97 +82933,95 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Tier Band Set details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" } }, "OtherCalculationMethod": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - }, - "additionalProperties": false + } }, "OtherDestination": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - }, - "additionalProperties": false + } }, "TierBand": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Tier Band Details", "required": [ - "TierValueMinimum", + "AER", "ApplicationFrequency", "FixedVariableInterestRateType", - "AER" + "TierValueMinimum" ], + "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for the Product.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for the Product." }, "TierValueMinimum": { - "description": "Minimum deposit value for which the credit interest tier applies.", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum deposit value for which the credit interest tier applies." }, "TierValueMaximum": { - "description": "Maximum deposit value for which the credit interest tier applies.", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum deposit value for which the credit interest tier applies." }, "CalculationFrequency": { - "description": "How often is credit interest calculated for the account.", "type": "string", + "description": "How often is credit interest calculated for the account.", "enum": [ "FQAT", "FQDY", @@ -27824,8 +83035,8 @@ ] }, "ApplicationFrequency": { - "description": "How often is interest applied to the Product for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's account.", "type": "string", + "description": "How often is interest applied to the Product for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's account.", "enum": [ "FQAT", "FQDY", @@ -27839,8 +83050,8 @@ ] }, "DepositInterestAppliedCoverage": { - "description": "Amount on which Interest applied.", "type": "string", + "description": "Amount on which Interest applied.", "enum": [ "INBA", "INTI", @@ -27848,21 +83059,21 @@ ] }, "FixedVariableInterestRateType": { - "description": "Type of interest rate, Fixed or Variable", "type": "string", + "description": "Type of interest rate, Fixed or Variable", "enum": [ "INFI", "INVA" ] }, "AER": { - "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" }, "BankInterestRateType": { - "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the account holder's account.", "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the account holder's account.", "enum": [ "INBB", "INFR", @@ -27873,141 +83084,139 @@ ] }, "BankInterestRate": { - "description": "Bank Interest for the product", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Bank Interest for the product" }, "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Tier Band details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" } }, "OtherBankInterestType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other interest rate types which are not available in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other interest rate types which are not available in the standard code list" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies that are not available in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in the standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in the standard code set." } - } - }, - "minItems": 1 + }, + "description": "Tier Band Details" + } } - } - }, - "minItems": 1 + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } } - } + }, + "description": "Details about the interest that may be payable to the Account holders" }, "Overdraft": { - "type": "object", "required": [ "OverdraftTierBandSet" ], - "description": "Borrowing details", + "type": "object", "properties": { "Notes": { "type": "array", "items": { - "description": "Associated Notes about the overdraft rates", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Associated Notes about the overdraft rates" } }, "OverdraftTierBandSet": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Tier band set details", "required": [ - "TierBandMethod", - "OverdraftTierBand" + "OverdraftTierBand", + "TierBandMethod" ], + "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "enum": [ "INBA", "INTI", @@ -28015,8 +83224,8 @@ ] }, "OverdraftType": { - "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "enum": [ "OVCO", "OVOD", @@ -28024,70 +83233,70 @@ ] }, "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft product.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." }, "AuthorisedIndicator": { - "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" }, "BufferAmount": { - "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply.", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." }, "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the overdraft Tier Band Set details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details" } }, "OverdraftTierBand": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Provides overdraft details for a specific tier or band", "required": [ "TierValueMin" ], + "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." }, "TierValueMin": { - "description": "Minimum value of Overdraft Tier/Band", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum value of Overdraft Tier/Band" }, "TierValueMax": { - "description": "Maximum value of Overdraft Tier/Band", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum value of Overdraft Tier/Band" }, "EAR": { - "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft.", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." }, "AgreementLengthMin": { - "description": "Specifies the minimum length of a band for a fixed overdraft agreement", - "type": "integer" + "type": "integer", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement" }, "AgreementLengthMax": { - "description": "Specifies the maximum length of a band for a fixed overdraft agreement", - "type": "integer" + "type": "integer", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement" }, "AgreementPeriod": { - "description": "Specifies the period of a fixed length overdraft agreement", "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", "enum": [ "PACT", "PDAY", @@ -28099,8 +83308,8 @@ ] }, "OverdraftInterestChargingCoverage": { - "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is �2k and the interest tiers are:- 0-�500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the �Whole� of the account balance, and in the 2nd that it is �Tiered�.", "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is �2k and the interest tiers are:- 0-�500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the �Whole� of the account balance, and in the 2nd that it is �Tiered�.", "enum": [ "INBA", "INTI", @@ -28108,42 +83317,41 @@ ] }, "BankGuaranteedIndicator": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." }, "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Tier/band details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Tier/band details" } }, "OverdraftFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Overdraft fees and charges", "required": [ "OverdraftFeeChargeDetail" ], + "type": "object", "properties": { "OverdraftFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FBAO", "FBAR", @@ -28158,29 +83366,28 @@ "FTOT", "FTUT" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", - "type": "integer" + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -28194,58 +83401,59 @@ "Notes": { "type": "array", "items": { - "description": "Notes related to Overdraft fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Notes related to Overdraft fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OverdraftFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Details about the fees/charges", "required": [ - "FeeType", - "ApplicationFrequency" + "ApplicationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "FBAO", "FBAR", @@ -28262,31 +83470,31 @@ ] }, "NegotiableIndicator": { - "description": "Indicates whether fee and charges are negotiable", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" }, "OverdraftControlIndicator": { - "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "INBB", "INFR", @@ -28297,8 +83505,8 @@ ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -28324,8 +83532,8 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "FEAC", "FEAO", @@ -28353,27 +83561,27 @@ "Notes": { "type": "array", "items": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" } }, "OverdraftFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FBAO", "FBAR", @@ -28388,29 +83596,28 @@ "FTOT", "FTUT" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", - "type": "integer" + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -28424,192 +83631,189 @@ "Notes": { "type": "array", "items": { - "description": "Notes related to Overdraft fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Notes related to Overdraft fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OtherFeeType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other Fee type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other fee rate type code which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies that are not available in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in the standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in the standard code set." } - } - }, - "minItems": 1 + }, + "description": "Details about the fees/charges" + } } - } + }, + "description": "Overdraft fees and charges" } } - } - }, - "minItems": 1 + }, + "description": "Provides overdraft details for a specific tier or band" + } }, "OverdraftFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Overdraft fees and charges details", "required": [ "OverdraftFeeChargeDetail" ], + "type": "object", "properties": { "OverdraftFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FBAO", "FBAR", @@ -28624,29 +83828,28 @@ "FTOT", "FTUT" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", - "type": "integer" + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -28660,58 +83863,59 @@ "Notes": { "type": "array", "items": { - "description": "Notes related to Overdraft fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Notes related to Overdraft fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OverdraftFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Details about the fees/charges", "required": [ - "FeeType", - "ApplicationFrequency" + "ApplicationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "FBAO", "FBAR", @@ -28728,31 +83932,31 @@ ] }, "NegotiableIndicator": { - "description": "Indicates whether fee and charges are negotiable", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" }, "OverdraftControlIndicator": { - "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "INBB", "INFR", @@ -28763,8 +83967,8 @@ ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -28790,8 +83994,8 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "FEAC", "FEAO", @@ -28819,27 +84023,27 @@ "Notes": { "type": "array", "items": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" } }, "OverdraftFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FBAO", "FBAR", @@ -28854,29 +84058,28 @@ "FTOT", "FTUT" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", - "type": "integer" + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances." }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -28890,200 +84093,198 @@ "Notes": { "type": "array", "items": { - "description": "Notes related to Overdraft fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Notes related to Overdraft fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OtherFeeType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other Fee type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other fee rate type code which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies that are not available in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in the standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in the standard code set." } - } - }, - "minItems": 1 + }, + "description": "Details about the fees/charges" + } } - } + }, + "description": "Overdraft fees and charges details" } } - } - }, - "minItems": 1 + }, + "description": "Tier band set details" + } } - } + }, + "description": "Borrowing details" }, "LoanInterest": { - "type": "object", "required": [ "LoanInterestTierBandSet" ], - "description": "Details about the interest that may be payable to the SME Loan holders", + "type": "object", "properties": { "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the LoanInterest", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the LoanInterest" } }, "LoanInterestTierBandSet": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "The group of tiers or bands for which debit interest can be applied.", "required": [ - "TierBandMethod", "CalculationMethod", - "LoanInterestTierBand" + "LoanInterestTierBand", + "TierBandMethod" ], + "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how credit interest is charged. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the SME Loan balance", "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the SME Loan balance", "enum": [ "INBA", "INTI", @@ -29091,14 +84292,14 @@ ] }, "Identification": { - "description": "Loan interest tierbandset identification. Used by loan providers for internal use purpose.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Loan interest tierbandset identification. Used by loan providers for internal use purpose." }, "CalculationMethod": { - "description": "Methods of calculating interest", "type": "string", + "description": "Methods of calculating interest", "enum": [ "ITCO", "ITOT", @@ -29108,75 +84309,74 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Tier Band Set details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" } }, "OtherCalculationMethod": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - }, - "additionalProperties": false + } }, "LoanInterestTierBand": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Tier Band Details", "required": [ - "TierValueMinimum", - "TierValueMinTerm", - "MinTermPeriod", "FixedVariableInterestRateType", - "RepAPR" + "MinTermPeriod", + "RepAPR", + "TierValueMinTerm", + "TierValueMinimum" ], + "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a SME Loan.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a SME Loan." }, "TierValueMinimum": { - "description": "Minimum loan value for which the loan interest tier applies.", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum loan value for which the loan interest tier applies." }, "TierValueMaximum": { - "description": "Maximum loan value for which the loan interest tier applies.", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum loan value for which the loan interest tier applies." }, "TierValueMinTerm": { - "description": "Minimum loan term for which the loan interest tier applies.", - "type": "integer" + "type": "integer", + "description": "Minimum loan term for which the loan interest tier applies." }, "MinTermPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the Minimum Term", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Minimum Term", "enum": [ "PACT", "PDAY", @@ -29188,12 +84388,12 @@ ] }, "TierValueMaxTerm": { - "description": "Maximum loan term for which the loan interest tier applies.", - "type": "integer" + "type": "integer", + "description": "Maximum loan term for which the loan interest tier applies." }, "MaxTermPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the Maximum Term", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Maximum Term", "enum": [ "PACT", "PDAY", @@ -29205,21 +84405,21 @@ ] }, "FixedVariableInterestRateType": { - "description": "Type of interest rate, Fixed or Variable", "type": "string", + "description": "Type of interest rate, Fixed or Variable", "enum": [ "INFI", "INVA" ] }, "RepAPR": { - "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nFor SME Loan, this APR is the representative APR which includes any account fees.", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nFor SME Loan, this APR is the representative APR which includes any account fees." }, "LoanProviderInterestRateType": { - "description": "Interest rate types, other than APR, which financial institutions may use to describe the annual interest rate payable for the SME Loan.", "type": "string", + "description": "Interest rate types, other than APR, which financial institutions may use to describe the annual interest rate payable for the SME Loan.", "enum": [ "INBB", "INFR", @@ -29230,69 +84430,68 @@ ] }, "LoanProviderInterestRate": { - "description": "Loan provider Interest for the SME Loan product", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Loan provider Interest for the SME Loan product" }, "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Tier Band details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" } }, "OtherLoanProviderInterestRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other loan interest rate types which are not available in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other loan interest rate types which are not available in the standard code list" }, "LoanInterestFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits", "required": [ "LoanInterestFeeChargeDetail" ], + "type": "object", "properties": { "LoanInterestFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Other fees/charges details", "required": [ - "FeeType", "ApplicationFrequency", - "CalculationFrequency" + "CalculationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { - "description": "Fee/Charge Type", "type": "string", + "description": "Fee/Charge Type", "enum": [ "FEPF", "FTOT", @@ -29306,22 +84505,22 @@ ] }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "INBB", "INFR", @@ -29332,8 +84531,8 @@ ] }, "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -29359,8 +84558,8 @@ ] }, "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "FEAC", "FEAO", @@ -29388,29 +84587,28 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the fee/charge details.", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." } }, "OtherFeeType": { - "type": "object", "required": [ + "Description", "FeeCategory", - "Name", - "Description" + "Name" ], - "description": "Other Fee/charge type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "FCOT", "FCRE", @@ -29418,123 +84616,120 @@ ] }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other Fee/charge type which is not available in the standard code set" }, "OtherFeeRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other fee rate type which is not in the standard rate type list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other fee rate type which is not in the standard rate type list" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies not covered in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies not covered in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in standard code set." } - } - }, - "minItems": 1 + }, + "description": "Other fees/charges details" + } }, "LoanInterestFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -29546,29 +84741,28 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "type": "integer" + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "FEAC", "FEAO", @@ -29596,75 +84790,76 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" } } - } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" } } - } - }, - "minItems": 1 + }, + "description": "Tier Band Details" + } }, "LoanInterestFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits", "required": [ "LoanInterestFeeChargeDetail" ], + "type": "object", "properties": { "LoanInterestFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Other fees/charges details", "required": [ - "FeeType", "ApplicationFrequency", - "CalculationFrequency" + "CalculationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { - "description": "Fee/Charge Type", "type": "string", + "description": "Fee/Charge Type", "enum": [ "FEPF", "FTOT", @@ -29678,22 +84873,22 @@ ] }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "INBB", "INFR", @@ -29704,8 +84899,8 @@ ] }, "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -29731,8 +84926,8 @@ ] }, "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "FEAC", "FEAO", @@ -29760,29 +84955,28 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the fee/charge details.", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." } }, "OtherFeeType": { - "type": "object", "required": [ + "Description", "FeeCategory", - "Name", - "Description" + "Name" ], - "description": "Other Fee/charge type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "FCOT", "FCRE", @@ -29790,123 +84984,120 @@ ] }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other Fee/charge type which is not available in the standard code set" }, "OtherFeeRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other fee rate type which is not in the standard rate type list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other fee rate type which is not in the standard rate type list" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies not covered in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies not covered in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in standard code set." } - } - }, - "minItems": 1 + }, + "description": "Other fees/charges details" + } }, "LoanInterestFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -29918,29 +85109,28 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "type": "integer" + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "FEAC", "FEAO", @@ -29968,61 +85158,63 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" } } - } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" } } - } - }, - "minItems": 1 + }, + "description": "The group of tiers or bands for which debit interest can be applied." + } } - } + }, + "description": "Details about the interest that may be payable to the SME Loan holders" }, "Repayment": { "type": "object", - "description": "Repayment details of the Loan product", "properties": { "RepaymentType": { - "description": "Repayment type", "type": "string", + "description": "Repayment type", "enum": [ "USBA", "USBU", @@ -30040,8 +85232,8 @@ ] }, "RepaymentFrequency": { - "description": "Repayment frequency", "type": "string", + "description": "Repayment frequency", "enum": [ "SMDA", "SMFL", @@ -30055,8 +85247,8 @@ ] }, "AmountType": { - "description": "The repayment is for paying just the interest only or both interest and capital or bullet amount or balance to date etc", "type": "string", + "description": "The repayment is for paying just the interest only or both interest and capital or bullet amount or balance to date etc", "enum": [ "RABD", "RABL", @@ -30070,114 +85262,113 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Repayment", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Repayment" } }, "OtherRepaymentType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other repayment type which is not in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other repayment type which is not in the standard code list" }, "OtherRepaymentFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other repayment frequency which is not in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other repayment frequency which is not in the standard code list" }, "OtherAmountType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other amount type which is not in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other amount type which is not in the standard code list" }, "RepaymentFeeCharges": { - "type": "object", "required": [ "RepaymentFeeChargeDetail" ], - "description": "Applicable fee/charges for repayment such as prepayment, full early repayment or non repayment.", + "type": "object", "properties": { "RepaymentFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Details about specific fees/charges that are applied for repayment", "required": [ - "FeeType", "ApplicationFrequency", - "CalculationFrequency" + "CalculationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { - "description": "Fee/Charge Type", "type": "string", + "description": "Fee/Charge Type", "enum": [ "FEPF", "FTOT", @@ -30191,22 +85382,22 @@ ] }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "INBB", "INFR", @@ -30217,8 +85408,8 @@ ] }, "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -30244,8 +85435,8 @@ ] }, "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "FEAC", "FEAO", @@ -30273,29 +85464,28 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the fee/charge details.", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." } }, "OtherFeeType": { - "type": "object", "required": [ + "Description", "FeeCategory", - "Name", - "Description" + "Name" ], - "description": "Other Fee/charge type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "FCOT", "FCRE", @@ -30303,123 +85493,120 @@ ] }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other Fee/charge type which is not available in the standard code set" }, "OtherFeeRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other fee rate type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other fee rate type which is not available in the standard code set" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies not covered in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies not covered in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in standard code set." } - } - }, - "minItems": 1 + }, + "description": "Details about specific fees/charges that are applied for repayment" + } }, "RepaymentFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "RepaymentFeeChargeCap sets daily, weekly, monthly, yearly limits on the fees that are charged", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -30431,29 +85618,28 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "type": "integer" + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -30467,60 +85653,61 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "RepaymentFeeChargeCap sets daily, weekly, monthly, yearly limits on the fees that are charged" } } - } + }, + "description": "Applicable fee/charges for repayment such as prepayment, full early repayment or non repayment." }, "RepaymentHoliday": { "type": "array", "items": { "type": "object", - "description": "Details of capital repayment holiday if any", "properties": { "MaxHolidayLength": { - "description": "The maximum length/duration of a Repayment Holiday", - "type": "integer" + "type": "integer", + "description": "The maximum length/duration of a Repayment Holiday" }, "MaxHolidayPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the repayment holiday", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the repayment holiday", "enum": [ "PACT", "PDAY", @@ -30534,29 +85721,30 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding details for repayment holiday", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding details for repayment holiday" } } - } + }, + "description": "Details of capital repayment holiday if any" } } - } + }, + "description": "Repayment details of the Loan product" }, "OtherFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", "required": [ "FeeChargeDetail" ], + "type": "object", "properties": { "TariffType": { - "description": "TariffType which defines the fee and charges.", "type": "string", + "description": "TariffType which defines the fee and charges.", "enum": [ "TTEL", "TTMX", @@ -30564,52 +85752,52 @@ ] }, "TariffName": { - "description": "Name of the tariff", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Name of the tariff" }, "OtherTariffType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other tariff type which is not in the standard list.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other tariff type which is not in the standard list." }, "FeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Other fees/charges details", "required": [ + "ApplicationFrequency", "FeeCategory", - "FeeType", - "ApplicationFrequency" + "FeeType" ], + "type": "object", "properties": { "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "FCOT", "FCRE", @@ -30617,8 +85805,8 @@ ] }, "FeeType": { - "description": "Fee/Charge Type", "type": "string", + "description": "Fee/Charge Type", "enum": [ "FEPF", "FTOT", @@ -30632,22 +85820,22 @@ ] }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "INBB", "INFR", @@ -30658,8 +85846,8 @@ ] }, "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -30685,8 +85873,8 @@ ] }, "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "FEAC", "FEAO", @@ -30714,27 +85902,27 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the fee/charge details.", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." } }, "FeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -30746,29 +85934,28 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "type": "integer" + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -30782,89 +85969,88 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" } }, "OtherFeeCategoryType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - }, - "additionalProperties": false + } }, "OtherFeeType": { - "type": "object", "required": [ + "Description", "FeeCategory", - "Name", - "Description" + "Name" ], - "description": "Other Fee/charge type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "FCOT", "FCRE", @@ -30872,149 +86058,146 @@ ] }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other Fee/charge type which is not available in the standard code set" }, "OtherFeeRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other fee rate type which is not available in the standard code set", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other fee rate type which is not available in the standard code set" }, "OtherApplicationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other application frequencies not covered in the standard code list", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other application frequencies not covered in the standard code list" }, "OtherCalculationFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other calculation frequency which is not available in standard code set.", + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false + "description": "Other calculation frequency which is not available in standard code set." }, "FeeApplicableRange": { "type": "object", - "description": "Range or amounts or rates for which the fee/charge applies", "properties": { "MinimumAmount": { - "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" }, "MaximumAmount": { - "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" }, "MinimumRate": { - "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" }, "MaximumRate": { - "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" } - } + }, + "description": "Range or amounts or rates for which the fee/charge applies" } - } - }, - "minItems": 1 + }, + "description": "Other fees/charges details" + } }, "FeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -31026,29 +86209,28 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "type": "string", + "description": "Min Max type", "enum": [ "FMMN", "FMMX" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "type": "integer" + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "PACT", "PDAY", @@ -31062,71 +86244,72 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" } } - } + }, + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" } }, "SupplementaryData": { "type": "object", - "properties": {}, - "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "Other product type details associated with the account." }, "BCA": { - "type": "object", "title": "BCA", + "type": "object", "properties": { "ProductDetails": { - "type": "object", "title": "ProductDetails", + "type": "object", "properties": { "Segment": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", "title": "Segment", "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", "items": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", "enum": [ "ClientAccount", "Standard", @@ -31140,15 +86323,15 @@ } }, "FeeFreeLength": { - "description": "The length/duration of the fee free period", "title": "FeeFreeLength", "type": "number", + "description": "The length/duration of the fee free period", "format": "float" }, "FeeFreeLengthPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the promotional length", "title": "FeeFreeLengthPeriod", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", "enum": [ "Day", "Half Year", @@ -31159,36 +86342,42 @@ ] }, "Notes": { - "description": "Optional additional notes to supplement the Core product details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Core product details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } } - }, - "additionalProperties": false + } }, "CreditInterest": { - "description": "Details about the interest that may be payable to the BCA account holders", - "type": "object", "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", "properties": { "TierBandSet": { - "description": "The group of tiers or bands for which credit interest can be applied.", - "type": "array", "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", "items": { - "description": "The group of tiers or bands for which credit interest can be applied.", + "required": [ + "Destination", + "TierBand", + "TierBandMethod" + ], "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how credit interest is paid/applied. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the BCA balance", "title": "TierBandMethod", "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the BCA balance", "enum": [ "Banded", "Tiered", @@ -31196,65 +86385,71 @@ ] }, "CalculationMethod": { - "description": "Methods of calculating interest", "title": "CalculationMethod", "type": "string", + "description": "Methods of calculating interest", "enum": [ "Compound", "SimpleInterest" ] }, "Destination": { - "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", "title": "Destination", "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", "enum": [ "PayAway", "SelfCredit" ] }, "Notes": { - "description": "Optional additional notes to supplement the Tier Band Set details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "TierBand": { - "description": "Tier Band Details", - "type": "array", "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", "items": { - "description": "Tier Band Details", + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a BCA.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a BCA." }, "TierValueMinimum": { - "description": "Minimum deposit value for which the credit interest tier applies.", "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum deposit value for which the credit interest tier applies." }, "TierValueMaximum": { - "description": "Maximum deposit value for which the credit interest tier applies.", "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum deposit value for which the credit interest tier applies." }, "CalculationFrequency": { - "description": "How often is credit interest calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is credit interest calculated for the account.", "enum": [ "Daily", "HalfYearly", @@ -31267,9 +86462,9 @@ ] }, "ApplicationFrequency": { - "description": "How often is interest applied to the BCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's BCA.", "title": "ApplicationFrequency", "type": "string", + "description": "How often is interest applied to the BCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's BCA.", "enum": [ "Daily", "HalfYearly", @@ -31282,9 +86477,9 @@ ] }, "DepositInterestAppliedCoverage": { - "description": "Amount on which Interest applied.", "title": "DepositInterestAppliedCoverage", "type": "string", + "description": "Amount on which Interest applied.", "enum": [ "Banded", "Tiered", @@ -31292,201 +86487,190 @@ ] }, "FixedVariableInterestRateType": { - "description": "Type of interest rate, Fixed or Variable", "title": "FixedVariableInterestRateType", "type": "string", + "description": "Type of interest rate, Fixed or Variable", "enum": [ "Fixed", "Variable" ] }, "AER": { - "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A", "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" }, "BankInterestRateType": { - "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the BCA.", "title": "BankInterestRateType", "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the BCA.", "enum": [ "Gross", "Other" ] }, "BankInterestRate": { - "description": "Bank Interest for the BCA product", "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Bank Interest for the BCA product" }, "Notes": { - "description": "Optional additional notes to supplement the Tier Band details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherBankInterestType": { - "description": "Other interest rate types which are not available in the standard code list", - "type": "object", "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other interest rate types which are not available in the standard code list" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." } }, - "required": [ - "TierValueMinimum", - "ApplicationFrequency", - "FixedVariableInterestRateType", - "AER" - ] - }, - "minItems": 1 + "description": "Tier Band Details" + } } }, - "required": [ - "TierBandMethod", - "Destination", - "TierBand" - ] - }, - "minItems": 1 + "description": "The group of tiers or bands for which credit interest can be applied." + } } }, - "additionalProperties": false, - "required": [ - "TierBandSet" - ] + "description": "Details about the interest that may be payable to the BCA account holders" }, "Overdraft": { - "description": "Borrowing details", - "type": "object", "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", "properties": { "Notes": { - "description": "Associated Notes about the overdraft rates", "title": "Notes", "type": "array", + "description": "Associated Notes about the overdraft rates", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftTierBandSet": { - "description": "Tier band set details", - "type": "array", "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", "items": { - "description": "Tier band set details", + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "title": "TierBandMethod", "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "enum": [ "Banded", "Tiered", @@ -31494,98 +86678,101 @@ ] }, "OverdraftType": { - "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "title": "OverdraftType", "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "enum": [ "Committed", "OnDemand" ] }, "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft product.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." }, "AuthorisedIndicator": { - "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)", "title": "AuthorisedIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" }, "BufferAmount": { - "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply.", "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." }, "Notes": { - "description": "Optional additional notes to supplement the overdraft Tier Band Set details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftTierBand": { - "description": "Provides overdraft details for a specific tier or band", - "type": "array", "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", "items": { - "description": "Provides overdraft details for a specific tier or band", + "required": [ + "TierValueMin" + ], "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." }, "TierValueMin": { - "description": "Minimum value of Overdraft Tier/Band", "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum value of Overdraft Tier/Band" }, "TierValueMax": { - "description": "Maximum value of Overdraft Tier/Band", "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum value of Overdraft Tier/Band" }, "EAR": { - "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft.", "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." }, "RepresentativeAPR": { - "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account.", "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." }, "AgreementLengthMin": { - "description": "Specifies the minimum length of a band for a fixed overdraft agreement", "title": "AgreementLengthMin", "type": "number", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement", "format": "float" }, "AgreementLengthMax": { - "description": "Specifies the maximum length of a band for a fixed overdraft agreement", "title": "AgreementLengthMax", "type": "number", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement", "format": "float" }, "AgreementPeriod": { - "description": "Specifies the period of a fixed length overdraft agreement", "title": "AgreementPeriod", "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", "enum": [ "Day", "Half Year", @@ -31596,9 +86783,9 @@ ] }, "OverdraftInterestChargingCoverage": { - "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is £2k and the interest tiers are:- 0-£500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the ‘Whole’ of the account balance, and in the 2nd that it is ‘Tiered’.", "title": "OverdraftInterestChargingCoverage", "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is £2k and the interest tiers are:- 0-£500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the ‘Whole’ of the account balance, and in the 2nd that it is ‘Tiered’.", "enum": [ "Banded", "Tiered", @@ -31606,44 +86793,50 @@ ] }, "BankGuaranteedIndicator": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "BankGuaranteedIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances." }, "Notes": { - "description": "Optional additional notes to supplement the Tier/band details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftFeesCharges": { - "description": "Overdraft fees and charges", - "type": "array", "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", "items": { - "description": "Overdraft fees and charges", + "required": [ + "OverdraftFeeChargeDetail" + ], "type": "object", "properties": { "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -31658,34 +86851,33 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "FeeCapOccurrence", "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -31696,72 +86888,73 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OverdraftFeeChargeDetail": { - "description": "Details about the fees/charges", - "type": "array", "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", "items": { - "description": "Details about the fees/charges", + "required": [ + "ApplicationFrequency", + "FeeType" + ], "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "title": "FeeType", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -31778,46 +86971,46 @@ ] }, "NegotiableIndicator": { - "description": "Indicates whether fee and charges are negotiable", "title": "NegotiableIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" }, "OverdraftControlIndicator": { - "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "Gross", "Other" ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "OnClosing", "OnOpening", @@ -31842,9 +87035,9 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "OnClosing", "OnOpening", @@ -31869,31 +87062,35 @@ ] }, "Notes": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "title": "Notes", "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -31908,34 +87105,33 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "FeeCapOccurrence", "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -31946,240 +87142,230 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OtherFeeType": { - "description": "Other Fee type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type code which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." } }, - "required": [ - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Details about the fees/charges" + } } }, - "required": [ - "OverdraftFeeChargeDetail" - ] + "description": "Overdraft fees and charges" } } }, - "required": [ - "TierValueMin" - ] - }, - "minItems": 1 + "description": "Provides overdraft details for a specific tier or band" + } }, "OverdraftFeesCharges": { - "description": "Overdraft fees and charges details", - "type": "array", "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", "items": { - "description": "Overdraft fees and charges details", + "required": [ + "OverdraftFeeChargeDetail" + ], "type": "object", "properties": { "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -32194,34 +87380,33 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "FeeCapOccurrence", "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -32232,72 +87417,73 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OverdraftFeeChargeDetail": { - "description": "Details about the fees/charges", - "type": "array", "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", "items": { - "description": "Details about the fees/charges", + "required": [ + "ApplicationFrequency", + "FeeType" + ], "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "title": "FeeType", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -32314,46 +87500,46 @@ ] }, "NegotiableIndicator": { - "description": "Indicates whether fee and charges are negotiable", "title": "NegotiableIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" }, "OverdraftControlIndicator": { - "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "Gross", "Other" ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "OnClosing", "OnOpening", @@ -32378,9 +87564,9 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "OnClosing", "OnOpening", @@ -32405,31 +87591,35 @@ ] }, "Notes": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "title": "Notes", "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -32444,34 +87634,33 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "FeeCapOccurrence", "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -32482,236 +87671,218 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OtherFeeType": { - "description": "Other Fee type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type code which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." } }, - "required": [ - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Details about the fees/charges" + } } }, - "required": [ - "OverdraftFeeChargeDetail" - ] + "description": "Overdraft fees and charges details" } } }, - "required": [ - "TierBandMethod", - "OverdraftTierBand" - ] - }, - "minItems": 1 + "description": "Tier band set details" + } } }, - "additionalProperties": false, - "required": [ - "OverdraftTierBandSet" - ] + "description": "Borrowing details" }, "OtherFeesCharges": { - "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", - "type": "array", "title": "OtherFeesCharges", + "type": "array", + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", "items": { - "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", + "required": [ + "FeeChargeDetail" + ], "type": "object", "properties": { "TariffType": { - "description": "TariffType which defines the fee and charges.", "title": "TariffType", "type": "string", + "description": "TariffType which defines the fee and charges.", "enum": [ "Electronic", "Mixed", @@ -32719,67 +87890,71 @@ ] }, "TariffName": { - "description": "Name of the tariff", "title": "TariffName", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Name of the tariff" }, "OtherTariffType": { - "description": "Other tariff type which is not in the standard list.", - "type": "object", "title": "OtherTariffType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other tariff type which is not in the standard list." }, "FeeChargeDetail": { - "description": "Other fees/charges details", - "type": "array", "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", "items": { - "description": "Other fees/charges details", + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], "type": "object", "properties": { "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "title": "FeeCategory", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "Other", "Servicing" ] }, "FeeType": { - "description": "Fee/Charge Type", "title": "FeeType", "type": "string", + "description": "Fee/Charge Type", "enum": [ "Other", "ServiceCAccountFee", @@ -32792,35 +87967,35 @@ ] }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", "title": "NegotiableIndicator", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "Gross", "Other" ] }, "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "OnClosing", "OnOpening", @@ -32845,9 +88020,9 @@ ] }, "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", "title": "CalculationFrequency", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "OnClosing", "OnOpening", @@ -32872,31 +88047,35 @@ ] }, "Notes": { - "description": "Optional additional notes to supplement the fee/charge details.", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "FeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", - "type": "array", "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "Other", "ServiceCAccountFee", @@ -32907,34 +88086,33 @@ "ServiceCMinimumMonthlyFee", "ServiceCOther" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -32945,295 +88123,285 @@ ] }, "Notes": { - "description": "Free text for adding extra details for fee charge cap", "title": "Notes", "type": "array", + "description": "Free text for adding extra details for fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" } }, "OtherFeeCategoryType": { - "type": "object", "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + } }, "OtherFeeType": { - "description": "Other Fee/charge type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "title": "FeeCategory", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "Other", "Servicing" ] }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "FeeCategory", - "Name", - "Description" - ] + "description": "Other Fee/charge type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies not covered in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies not covered in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in standard code set." }, "FeeApplicableRange": { - "description": "Range or amounts or rates for which the fee/charge applies", - "type": "object", "title": "FeeApplicableRange", + "type": "object", "properties": { "MinimumAmount": { - "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)", "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" }, "MaximumAmount": { - "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)", "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" }, "MinimumRate": { - "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)", "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" }, "MaximumRate": { - "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)", "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" } }, - "additionalProperties": false + "description": "Range or amounts or rates for which the fee/charge applies" } }, - "required": [ - "FeeCategory", - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Other fees/charges details" + } }, "FeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", - "type": "array", "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "Other", "ServiceCAccountFee", @@ -33244,34 +88412,33 @@ "ServiceCMinimumMonthlyFee", "ServiceCOther" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -33282,84 +88449,78 @@ ] }, "Notes": { - "description": "Free text for adding extra details for fee charge cap", "title": "Notes", "type": "array", + "description": "Free text for adding extra details for fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" } } }, - "required": [ - "FeeChargeDetail" - ] + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" } } - }, - "additionalProperties": false + } }, "PCA": { - "type": "object", "title": "PCA", + "type": "object", "properties": { "ProductDetails": { - "type": "object", "title": "ProductDetails", + "type": "object", "properties": { "Segment": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", "title": "Segment", "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", "items": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", "enum": [ "Basic", "BenefitAndReward", @@ -33379,107 +88540,118 @@ } }, "MonthlyMaximumCharge": { - "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order", "title": "MonthlyMaximumCharge", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" }, "Notes": { - "description": "Optional additional notes to supplement the Core product details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Core product details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } } - }, - "additionalProperties": false + } }, "CreditInterest": { - "description": "Details about the interest that may be payable to the PCA account holders", - "type": "object", "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", "properties": { "TierBandSet": { - "description": "The group of tiers or bands for which credit interest can be applied.", - "type": "array", "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", "items": { - "description": "The group of tiers or bands for which credit interest can be applied.", + "required": [ + "TierBand", + "TierBandMethod" + ], "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how credit interest is charged. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the PCA balance", "title": "TierBandMethod", "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the PCA balance", "enum": [ "Tiered", "Whole" ] }, "CalculationMethod": { - "description": "Methods of calculating interest", "title": "CalculationMethod", "type": "string", + "description": "Methods of calculating interest", "enum": [ "Compound", "SimpleInterest" ] }, "Destination": { - "description": "Describes whether accrued interest is payable only to the PCA or to another bank account", "title": "Destination", "type": "string", + "description": "Describes whether accrued interest is payable only to the PCA or to another bank account", "enum": [ "PayAway", "SelfCredit" ] }, "Notes": { - "description": "Optional additional notes to supplement the Tier Band Set details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "TierBand": { - "description": "Tier Band Details", - "type": "array", "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", "items": { - "description": "Tier Band Details", + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a PCA.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a PCA." }, "TierValueMinimum": { - "description": "Minimum deposit value for which the credit interest tier applies.", "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum deposit value for which the credit interest tier applies." }, "TierValueMaximum": { - "description": "Maximum deposit value for which the credit interest tier applies.", "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum deposit value for which the credit interest tier applies." }, "CalculationFrequency": { - "description": "How often is credit interest calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is credit interest calculated for the account.", "enum": [ "PerAcademicTerm", "Daily", @@ -33493,9 +88665,9 @@ ] }, "ApplicationFrequency": { - "description": "How often is interest applied to the PCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's PCA.", "title": "ApplicationFrequency", "type": "string", + "description": "How often is interest applied to the PCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's PCA.", "enum": [ "PerAcademicTerm", "Daily", @@ -33509,33 +88681,33 @@ ] }, "DepositInterestAppliedCoverage": { - "description": "Amount on which Interest applied.", "title": "DepositInterestAppliedCoverage", "type": "string", + "description": "Amount on which Interest applied.", "enum": [ "Tiered", "Whole" ] }, "FixedVariableInterestRateType": { - "description": "Type of interest rate, Fixed or Variable", "title": "FixedVariableInterestRateType", "type": "string", + "description": "Type of interest rate, Fixed or Variable", "enum": [ "Fixed", "Variable" ] }, "AER": { - "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A", "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" }, "BankInterestRateType": { - "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the PCA.", "title": "BankInterestRateType", "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the PCA.", "enum": [ "LinkedBaseRate", "Gross", @@ -33544,176 +88716,166 @@ ] }, "BankInterestRate": { - "description": "Bank Interest for the PCA product", "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Bank Interest for the PCA product" }, "Notes": { - "description": "Optional additional notes to supplement the Tier Band details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherBankInterestType": { - "description": "Other interest rate types which are not available in the standard code list", - "type": "object", "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other interest rate types which are not available in the standard code list" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." } }, - "required": [ - "TierValueMinimum", - "ApplicationFrequency", - "FixedVariableInterestRateType", - "AER" - ] - }, - "minItems": 1 + "description": "Tier Band Details" + } } }, - "required": [ - "TierBandMethod", - "TierBand" - ] - }, - "minItems": 1 + "description": "The group of tiers or bands for which credit interest can be applied." + } } }, - "additionalProperties": false, - "required": [ - "TierBandSet" - ] + "description": "Details about the interest that may be payable to the PCA account holders" }, "Overdraft": { - "description": "Details about Overdraft rates, fees & charges", - "type": "object", "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", "properties": { "Notes": { - "description": "Associated Notes about the overdraft rates", "title": "Notes", "type": "array", + "description": "Associated Notes about the overdraft rates", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftTierBandSet": { - "description": "Tier band set details", - "type": "array", "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", "items": { - "description": "Tier band set details", + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "title": "TierBandMethod", "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "enum": [ "Tiered", "Whole", @@ -33721,9 +88883,9 @@ ] }, "OverdraftType": { - "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "title": "OverdraftType", "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "enum": [ "Committed", "OnDemand", @@ -33731,121 +88893,130 @@ ] }, "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft product.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." }, "AuthorisedIndicator": { - "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)", "title": "AuthorisedIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" }, "BufferAmount": { - "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply.", "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." }, "Notes": { - "description": "Optional additional notes to supplement the overdraft Tier Band Set details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftTierBand": { - "description": "Provides overdraft details for a specific tier or band", - "type": "array", "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", "items": { - "description": "Provides overdraft details for a specific tier or band", + "required": [ + "TierValueMin" + ], "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." }, "TierValueMin": { - "description": "Minimum value of Overdraft Tier/Band", "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum value of Overdraft Tier/Band" }, "TierValueMax": { - "description": "Maximum value of Overdraft Tier/Band", "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum value of Overdraft Tier/Band" }, "OverdraftInterestChargingCoverage": { - "description": "Interest charged on whole amount or tiered/banded", "title": "OverdraftInterestChargingCoverage", "type": "string", + "description": "Interest charged on whole amount or tiered/banded", "enum": [ "Tiered", "Whole" ] }, "BankGuaranteedIndicator": { - "description": "Indicates that a bank provides the overdraft limit up to TierValueMIn to all customers automatically", "title": "BankGuaranteedIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates that a bank provides the overdraft limit up to TierValueMIn to all customers automatically" }, "EAR": { - "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft.", "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." }, "RepresentativeAPR": { - "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account.", "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." }, "Notes": { - "description": "Optional additional notes to supplement the Tier/band details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftFeesCharges": { - "description": "Overdraft fees and charges", - "type": "array", "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", "items": { - "description": "Overdraft fees and charges", + "required": [ + "OverdraftFeeChargeDetail" + ], "type": "object", "properties": { "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -33860,39 +89031,38 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -33904,72 +89074,73 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } }, "OverdraftFeeChargeDetail": { - "description": "Details about the fees/charges", - "type": "array", "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", "items": { - "description": "Details about the fees/charges", + "required": [ + "ApplicationFrequency", + "FeeType" + ], "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "title": "FeeType", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -33986,32 +89157,32 @@ ] }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "LinkedBaseRate", "Gross", @@ -34020,9 +89191,9 @@ ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "AccountClosing", "AccountOpening", @@ -34047,9 +89218,9 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "AccountClosing", "AccountOpening", @@ -34074,164 +89245,164 @@ ] }, "Notes": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "title": "Notes", "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other Fee type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type code which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." }, "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "object", "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -34246,39 +89417,38 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -34290,104 +89460,97 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "additionalProperties": false, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } }, - "required": [ - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Details about the fees/charges" + } } }, - "required": [ - "OverdraftFeeChargeDetail" - ] + "description": "Overdraft fees and charges" } } }, - "required": [ - "TierValueMin" - ] - }, - "minItems": 1 + "description": "Provides overdraft details for a specific tier or band" + } }, "OverdraftFeesCharges": { - "description": "Overdraft fees and charges details", - "type": "array", "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", "items": { - "description": "Overdraft fees and charges details", + "required": [ + "OverdraftFeeChargeDetail" + ], "type": "object", "properties": { "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -34402,39 +89565,38 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -34446,72 +89608,73 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - }, - "required": [ - "Name", - "Description" - ] + }, + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } }, "OverdraftFeeChargeDetail": { - "description": "Details about the fees/charges", - "type": "array", "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", "items": { - "description": "Details about the fees/charges", + "required": [ + "ApplicationFrequency", + "FeeType" + ], "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "title": "FeeType", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -34528,32 +89691,32 @@ ] }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "LinkedBaseRate", "Gross", @@ -34562,9 +89725,9 @@ ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "AccountClosing", "AccountOpening", @@ -34589,9 +89752,9 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "AccountClosing", "AccountOpening", @@ -34616,164 +89779,164 @@ ] }, "Notes": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "title": "Notes", "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other Fee type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type code which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." }, "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "object", "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -34788,39 +89951,38 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -34832,665 +89994,3831 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "additionalProperties": false, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } }, - "required": [ - "FeeType", - "ApplicationFrequency" + "description": "Details about the fees/charges" + } + } + }, + "description": "Overdraft fees and charges details" + } + } + }, + "description": "Tier band set details" + } + } + }, + "description": "Details about Overdraft rates, fees & charges" + }, + "OtherFeesCharges": { + "title": "OtherFeesCharges", + "required": [ + "FeeChargeDetail" + ], + "type": "object", + "properties": { + "FeeChargeDetail": { + "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", + "items": { + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], + "type": "object", + "properties": { + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "FeeType": { + "title": "FeeType", + "type": "string", + "description": "Fee/Charge Type", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + }, + "FeeAmount": { + "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "FeeRate": { + "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "FeeRateType": { + "title": "FeeRateType", + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "LinkedBaseRate", + "Gross", + "Net", + "Other" + ] + }, + "ApplicationFrequency": { + "title": "ApplicationFrequency", + "type": "string", + "description": "How frequently the fee/charge is applied to the account", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "CalculationFrequency": { + "title": "CalculationFrequency", + "type": "string", + "description": "How frequently the fee/charge is calculated", + "enum": [ + "AccountClosing", + "AccountOpening", + "AcademicTerm", + "ChargingPeriod", + "Daily", + "PerItem", + "Monthly", + "OnAccountAnniversary", + "Other", + "PerHour", + "PerOccurrence", + "PerSheet", + "PerTransaction", + "PerTransactionAmount", + "PerTransactionPercentage", + "Quarterly", + "SixMonthly", + "StatementMonthly", + "Weekly", + "Yearly" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeCategoryType": { + "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "FeeCategory": { + "title": "FeeCategory", + "type": "string", + "description": "Categorisation of fees and charges into standard categories.", + "enum": [ + "Other", + "Servicing" + ] + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OtherFeeRateType": { + "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OtherApplicationFrequency": { + "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OtherCalculationFrequency": { + "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" ] - }, - "minItems": 1 + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" + } + }, + "description": "Other fee type code which is not available in the standard code set" + } + } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } + }, + "FeeApplicableRange": { + "title": "FeeApplicableRange", + "type": "object", + "properties": { + "MinimumAmount": { + "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" + }, + "MaximumAmount": { + "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" + }, + "MinimumRate": { + "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" + }, + "MaximumRate": { + "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" + } + }, + "description": "Range or amounts or rates for which the fee/charge applies" + } + }, + "description": "Other fees/charges details" + } + }, + "FeeChargeCap": { + "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "items": { + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { + "title": "FeeType", + "minItems": 1, + "type": "array", + "description": "Fee/charge type which is being capped", + "items": { + "type": "string", + "description": "Fee/charge type which is being capped", + "enum": [ + "ServiceCAccountFee", + "ServiceCAccountFeeMonthly", + "ServiceCOther", + "Other" + ] + } + }, + "MinMaxType": { + "title": "MinMaxType", + "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", + "enum": [ + "Minimum", + "Maximum" + ] + }, + "FeeCapOccurrence": { + "title": "FeeCapOccurrence", + "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", + "format": "float" + }, + "FeeCapAmount": { + "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" + }, + "CappingPeriod": { + "title": "CappingPeriod", + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "AcademicTerm", + "Day", + "Half Year", + "Month", + "Quarter", + "Week", + "Year" + ] + }, + "Notes": { + "title": "Notes", + "type": "array", + "description": "Free text for adding extra details for fee charge cap", + "items": { + "maxLength": 2000, + "minLength": 1, + "type": "string", + "description": "maxLength 2000 text" + } + }, + "OtherFeeType": { + "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", + "items": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "title": "Code", + "maxLength": 4, + "minLength": 0, + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" + }, + "Name": { + "title": "Name", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" + }, + "Description": { + "title": "Description", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "OverdraftFeeChargeDetail" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "TierBandMethod", - "OverdraftTierBand" - ] - }, - "minItems": 1 + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" + } } }, - "additionalProperties": false, - "required": [ - "OverdraftTierBandSet" + "description": "Contains details of fees and charges which are not associated with either borrowing or features/benefits" + } + } + } + }, + "description": "Product details associated with the Account" + } + } + }, + "description": "Aligning with the read write specs structure." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + }, + "description": "Product details of Other Product which is not avaiable in the standard list" + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/scheduled-payments": { + "get": { + "tags": [ + "Scheduled Payments" + ], + "summary": "Get Scheduled Payments", + "operationId": "GetScheduledPayments", + "parameters": [ + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Scheduled Payments Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "ScheduledPayment": { + "type": "array", + "items": { + "required": [ + "AccountId", + "InstructedAmount", + "ScheduledPaymentDateTime", + "ScheduledType" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "ScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner." + }, + "ScheduledPaymentDateTime": { + "type": "string", + "description": "The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ScheduledType": { + "type": "string", + "description": "Specifies the scheduled payment date type requested", + "enum": [ + "Arrival", + "Execution" + ] + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "DebtorReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "A reference value provided by the PSU to the PISP while setting up the scheduled payment." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "CreditorAgent": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Beneficiary account identification." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "ScheduledPayment": { + "type": "array", + "items": { + "required": [ + "AccountId", + "InstructedAmount", + "ScheduledPaymentDateTime", + "ScheduledType" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "ScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner." + }, + "ScheduledPaymentDateTime": { + "type": "string", + "description": "The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ScheduledType": { + "type": "string", + "description": "Specifies the scheduled payment date type requested", + "enum": [ + "Arrival", + "Execution" + ] + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "DebtorReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "A reference value provided by the PSU to the PISP while setting up the scheduled payment." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "CreditorAgent": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Beneficiary account identification." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "ScheduledPayment": { + "type": "array", + "items": { + "required": [ + "AccountId", + "InstructedAmount", + "ScheduledPaymentDateTime", + "ScheduledType" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "ScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner." + }, + "ScheduledPaymentDateTime": { + "type": "string", + "description": "The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ScheduledType": { + "type": "string", + "description": "Specifies the scheduled payment date type requested", + "enum": [ + "Arrival", + "Execution" + ] + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "DebtorReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "A reference value provided by the PSU to the PISP while setting up the scheduled payment." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "CreditorAgent": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Beneficiary account identification." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/standing-orders": { + "get": { + "tags": [ + "Standing Orders" + ], + "summary": "Get Standing Orders", + "operationId": "GetStandingOrders", + "parameters": [ + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Standing Orders Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "StandingOrder": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Frequency" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StandingOrderId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner." + }, + "Frequency": { + "pattern": "^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nNotKnown - Not Known\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlDay - An interval specified in number of calendar days (02 to 31)\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nIndividual Patterns:\nNotKnown (ScheduleCode)\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlDay:NoOfDay (ScheduleCode + NoOfDay)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nNotKnown\nEvryDay\nEvryWorkgDay\nIntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1])\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "NextPaymentDateTime": { + "type": "string", + "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastPaymentDateTime": { + "type": "string", + "description": "The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "StandingOrderStatusCode": { + "type": "string", + "description": "Specifies the status of the standing order in code form.", + "enum": [ + "Active", + "Inactive" + ] + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the first Standing Order" + }, + "NextPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the next Standing Order." + }, + "LastPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the last (most recent) Standing Order instruction." + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "CreditorAgent": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] }, - "OtherFeesCharges": { - "description": "Contains details of fees and charges which are not associated with either borrowing or features/benefits", - "type": "object", - "title": "OtherFeesCharges", - "properties": { - "FeeChargeDetail": { - "description": "Other fees/charges details", - "type": "array", - "title": "FeeChargeDetail", - "items": { - "description": "Other fees/charges details", - "type": "object", - "properties": { - "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", - "title": "FeeCategory", - "type": "string", - "enum": [ - "Other", - "Servicing" - ] - }, - "FeeType": { - "description": "Fee/Charge Type", - "title": "FeeType", - "type": "string", - "enum": [ - "ServiceCAccountFee", - "ServiceCAccountFeeMonthly", - "ServiceCOther", - "Other" - ] - }, - "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", - "title": "FeeAmount", - "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" - }, - "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", - "title": "FeeRate", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - }, - "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", - "title": "FeeRateType", - "type": "string", - "enum": [ - "LinkedBaseRate", - "Gross", - "Net", - "Other" - ] - }, - "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", - "title": "ApplicationFrequency", - "type": "string", - "enum": [ - "AccountClosing", - "AccountOpening", - "AcademicTerm", - "ChargingPeriod", - "Daily", - "PerItem", - "Monthly", - "OnAccountAnniversary", - "Other", - "PerHour", - "PerOccurrence", - "PerSheet", - "PerTransaction", - "PerTransactionAmount", - "PerTransactionPercentage", - "Quarterly", - "SixMonthly", - "StatementMonthly", - "Weekly", - "Yearly" - ] - }, - "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", - "title": "CalculationFrequency", - "type": "string", - "enum": [ - "AccountClosing", - "AccountOpening", - "AcademicTerm", - "ChargingPeriod", - "Daily", - "PerItem", - "Monthly", - "OnAccountAnniversary", - "Other", - "PerHour", - "PerOccurrence", - "PerSheet", - "PerTransaction", - "PerTransactionAmount", - "PerTransactionPercentage", - "Quarterly", - "SixMonthly", - "StatementMonthly", - "Weekly", - "Yearly" - ] - }, - "Notes": { - "description": "Optional additional notes to supplement the fee/charge details.", - "title": "Notes", - "type": "array", - "items": { - "description": "maxLength 2000 text", - "type": "string", - "minLength": 1, - "maxLength": 2000 - } - }, - "OtherFeeCategoryType": { - "type": "object", - "title": "OtherFeeCategoryType", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] - }, - "OtherFeeType": { - "description": "Other Fee/charge type which is not available in the standard code set", - "type": "object", - "title": "OtherFeeType", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", - "title": "FeeCategory", - "type": "string", - "enum": [ - "Other", - "Servicing" - ] - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false, - "required": [ - "FeeCategory", - "Name", - "Description" - ] - }, - "OtherFeeRateType": { - "description": "Other fee rate type which is not available in the standard code set", - "type": "object", - "title": "OtherFeeRateType", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] - }, - "OtherApplicationFrequency": { - "description": "Other application frequencies not covered in the standard code list", - "type": "object", - "title": "OtherApplicationFrequency", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] - }, - "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in standard code set.", - "type": "object", - "title": "OtherCalculationFrequency", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] - }, - "FeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "array", - "title": "FeeChargeCap", - "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "object", - "properties": { - "FeeType": { - "description": "Fee/charge type which is being capped", - "title": "FeeType", - "type": "array", - "items": { - "description": "Fee/charge type which is being capped", - "type": "string", - "enum": [ - "ServiceCAccountFee", - "ServiceCAccountFeeMonthly", - "ServiceCOther", - "Other" - ] - }, - "minItems": 1 - }, - "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", - "title": "MinMaxType", - "type": "string", - "enum": [ - "Minimum", - "Maximum" - ] - }, - "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "title": "FeeCapOccurrence", - "type": "number", - "format": "float" - }, - "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", - "title": "FeeCapAmount", - "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" - }, - "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", - "title": "CappingPeriod", - "type": "string", - "enum": [ - "AcademicTerm", - "Day", - "Half Year", - "Month", - "Quarter", - "Week", - "Year" - ] - }, - "Notes": { - "description": "Free text for adding extra details for fee charge cap", - "title": "Notes", - "type": "array", - "items": { - "description": "maxLength 2000 text", - "type": "string", - "minLength": 1, - "maxLength": 2000 - } - }, - "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", - "title": "OtherFeeType", - "items": { - "description": "Other fee type code which is not available in the standard code set", - "type": "object", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "required": [ - "Name", - "Description" - ] - } - } - }, - "required": [ - "FeeType", - "MinMaxType" - ] - } - }, - "FeeApplicableRange": { - "description": "Range or amounts or rates for which the fee/charge applies", - "type": "object", - "title": "FeeApplicableRange", - "properties": { - "MinimumAmount": { - "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)", - "title": "MinimumAmount", - "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" - }, - "MaximumAmount": { - "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)", - "title": "MaximumAmount", - "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" - }, - "MinimumRate": { - "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)", - "title": "MinimumRate", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - }, - "MaximumRate": { - "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)", - "title": "MaximumRate", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - } - }, - "additionalProperties": false - } - }, - "required": [ - "FeeCategory", - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 - }, - "FeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "array", - "title": "FeeChargeCap", - "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "object", - "properties": { - "FeeType": { - "description": "Fee/charge type which is being capped", - "title": "FeeType", - "type": "array", - "items": { - "description": "Fee/charge type which is being capped", - "type": "string", - "enum": [ - "ServiceCAccountFee", - "ServiceCAccountFeeMonthly", - "ServiceCOther", - "Other" - ] - }, - "minItems": 1 - }, - "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", - "title": "MinMaxType", - "type": "string", - "enum": [ - "Minimum", - "Maximum" - ] - }, - "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "title": "FeeCapOccurrence", - "type": "number", - "format": "float" - }, - "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", - "title": "FeeCapAmount", - "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" - }, - "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", - "title": "CappingPeriod", - "type": "string", - "enum": [ - "AcademicTerm", - "Day", - "Half Year", - "Month", - "Quarter", - "Week", - "Year" - ] - }, - "Notes": { - "description": "Free text for adding extra details for fee charge cap", - "title": "Notes", - "type": "array", - "items": { - "description": "maxLength 2000 text", - "type": "string", - "minLength": 1, - "maxLength": 2000 - } - }, - "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", - "title": "OtherFeeType", - "items": { - "description": "Other fee type code which is not available in the standard code set", - "type": "object", - "properties": { - "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", - "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", - "minLength": 0, - "maxLength": 4 - }, - "Name": { - "description": "Long name associated with the code", - "title": "Name", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Description": { - "description": "Description to describe the purpose of the code", - "title": "Description", - "type": "string", - "minLength": 1, - "maxLength": 350 - } - }, - "required": [ - "Name", - "Description" - ] - } - } - }, - "required": [ - "FeeType", - "MinMaxType" - ] - } - } - }, - "additionalProperties": false, - "required": [ - "FeeChargeDetail" + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Beneficiary account identification." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/json": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "StandingOrder": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Frequency" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StandingOrderId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner." + }, + "Frequency": { + "pattern": "^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nNotKnown - Not Known\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlDay - An interval specified in number of calendar days (02 to 31)\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nIndividual Patterns:\nNotKnown (ScheduleCode)\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlDay:NoOfDay (ScheduleCode + NoOfDay)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nNotKnown\nEvryDay\nEvryWorkgDay\nIntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1])\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "NextPaymentDateTime": { + "type": "string", + "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastPaymentDateTime": { + "type": "string", + "description": "The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "StandingOrderStatusCode": { + "type": "string", + "description": "Specifies the status of the standing order in code form.", + "enum": [ + "Active", + "Inactive" + ] + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the first Standing Order" + }, + "NextPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the next Standing Order." + }, + "LastPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the last (most recent) Standing Order instruction." + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "CreditorAgent": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Beneficiary account identification." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } }, - "additionalProperties": false + "description": "Provides the details to identify the beneficiary account." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } } @@ -35498,8 +93826,10 @@ } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -35522,35 +93852,310 @@ "format": "uri" } }, - "additionalProperties": false, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "StandingOrder": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Frequency" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StandingOrderId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner." + }, + "Frequency": { + "pattern": "^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nNotKnown - Not Known\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlDay - An interval specified in number of calendar days (02 to 31)\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nIndividual Patterns:\nNotKnown (ScheduleCode)\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlDay:NoOfDay (ScheduleCode + NoOfDay)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nNotKnown\nEvryDay\nEvryWorkgDay\nIntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1])\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "NextPaymentDateTime": { + "type": "string", + "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastPaymentDateTime": { + "type": "string", + "description": "The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "StandingOrderStatusCode": { + "type": "string", + "description": "Specifies the status of the standing order in code form.", + "enum": [ + "Active", + "Inactive" + ] + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the first Standing Order" + }, + "NextPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the next Standing Order." + }, + "LastPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the last (most recent) Standing Order instruction." + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "CreditorAgent": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Beneficiary account identification." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + } + } + } + } + }, + "Links": { "required": [ "Self" - ] + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false + } } } } @@ -35566,36 +94171,350 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -35627,95 +94546,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -35747,134 +94639,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -35906,111 +94732,56 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/scheduled-payments": { - "get": { - "tags": [ - "Scheduled Payments" - ], - "summary": "Get Scheduled Payments", - "operationId": "GetScheduledPayments", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Scheduled Payments Read", + "406": { + "description": "Not Acceptable", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -36019,287 +94790,28 @@ } } }, - "content": { - "application/json": { + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "properties": { - "ScheduledPayment": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "object", - "required": [ - "AccountId", - "ScheduledPaymentDateTime", - "ScheduledType", - "InstructedAmount" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ScheduledPaymentId": { - "description": "A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ScheduledPaymentDateTime": { - "description": "The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ScheduledType": { - "description": "Specifies the scheduled payment date type requested", - "type": "string", - "enum": [ - "Arrival", - "Execution" - ] - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "DebtorReference": { - "description": "A reference value provided by the PSU to the PISP while setting up the scheduled payment.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "InstructedAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - }, - "additionalProperties": false - }, - { - "type": "object", - "required": [ - "AccountId", - "ScheduledPaymentDateTime", - "ScheduledType", - "InstructedAmount", - "CreditorAccount" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ScheduledPaymentId": { - "description": "A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ScheduledPaymentDateTime": { - "description": "The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ScheduledType": { - "description": "Specifies the scheduled payment date type requested", - "type": "string", - "enum": [ - "Arrival", - "Execution" - ] - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "DebtorReference": { - "description": "A reference value provided by the PSU to the PISP while setting up the scheduled payment.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "InstructedAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "CreditorAgent": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "CreditorAccount": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the beneficiary account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Beneficiary account identification.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - }, - "additionalProperties": false - } - ] - } - } - } - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" } } - } + }, + "content": {} }, - "400": { - "description": "Bad request", + "500": { + "description": "Internal Server Error", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -36309,36 +94821,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -36370,95 +94892,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -36490,134 +94985,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -36649,511 +95078,1657 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "accounts" + ] + } + ] + } + }, + "/statements": { + "get": { + "tags": [ + "Statements" + ], + "summary": "Get Statements", + "operationId": "GetStatements", + "parameters": [ + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "fromStatementDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter statements FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "toStatementDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter statements TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Statements Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Statement": { + "type": "array", + "items": { + "required": [ + "AccountId", + "CreationDateTime", + "EndDateTime", + "StartDateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StatementId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable." + }, + "StatementReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + }, + "Type": { + "type": "string", + "description": "Statement type, in a coded form.", + "enum": [ + "AccountClosure", + "AccountOpening", + "Annual", + "Interim", + "RegularPeriodic" + ] + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatementDescription": { + "type": "array", + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Other descriptions that may be available for the statement resource." + } + }, + "StatementBenefit": { + "type": "array", + "items": { + "required": [ + "Amount", + "Type" + ], + "type": "object", + "properties": { + "Type": { + "type": "string", + "description": "Benefit type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Cashback", + "UK.OBIE.Insurance", + "UK.OBIE.TravelDiscount", + "UK.OBIE.TravelInsurance" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement benefit type." + } + }, + "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource." + } + }, + "StatementFee": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement fee." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Fee type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CashAdvance", + "UK.OBIE.CashTransaction", + "UK.OBIE.ForeignCashTransaction", + "UK.OBIE.ForeignTransaction", + "UK.OBIE.Gambling", + "UK.OBIE.LatePayment", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Monthly", + "UK.OBIE.Overlimit", + "UK.OBIE.PostalOrder", + "UK.OBIE.PrizeEntry", + "UK.OBIE.StatementCopy", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)" + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement fee rate type.", + "x-namespaced-enum": [ + "UK.OBIE.AER", + "UK.OBIE.EAR" + ] + }, + "Frequency": { + "type": "string", + "description": "How frequently the fee is applied to the Account.", + "x-namespaced-enum": [ + "UK.OBIE.ChargingPeriod", + "UK.OBIE.PerTransactionAmount", + "UK.OBIE.PerTransactionPercentage", + "UK.OBIE.Quarterly", + "UK.OBIE.StatementMonthly", + "UK.OBIE.Weekly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement fee type." + } + }, + "description": "Set of elements used to provide details of a fee for the statement resource." + } + }, + "StatementInterest": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement interest." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Interest amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransfer", + "UK.OBIE.Cash", + "UK.OBIE.EstimatedNext", + "UK.OBIE.Purchase", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary." + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement Interest rate type.", + "x-namespaced-enum": [ + "UK.OBIE.BOEBaseRate", + "UK.OBIE.FixedRate", + "UK.OBIE.Gross", + "UK.OBIE.LoanProviderBaseRate", + "UK.OBIE.Net" + ] + }, + "Frequency": { + "type": "string", + "description": "Specifies the statement fee type requested", + "x-namespaced-enum": [ + "UK.OBIE.Daily", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.PerStatementDate", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly", + "UK.OBIE.Yearly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the statement interest amount type." + } + }, + "description": "Set of elements used to provide details of a generic interest amount related to the statement resource." + } + }, + "StatementAmount": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.ArrearsClosingBalance", + "UK.OBIE.AvailableBalance", + "UK.OBIE.AverageBalanceWhenInCredit", + "UK.OBIE.AverageBalanceWhenInDebit", + "UK.OBIE.AverageDailyBalance", + "UK.OBIE.BalanceTransferClosingBalance", + "UK.OBIE.CashClosingBalance", + "UK.OBIE.ClosingBalance", + "UK.OBIE.CreditLimit", + "UK.OBIE.CurrentPayment", + "UK.OBIE.DirectDebitPaymentDue", + "UK.OBIE.FSCSInsurance", + "UK.OBIE.MinimumPaymentDue", + "UK.OBIE.PendingTransactionsBalance", + "UK.OBIE.PreviousClosingBalance", + "UK.OBIE.PreviousPayment", + "UK.OBIE.PurchaseClosingBalance", + "UK.OBIE.StartingBalance", + "UK.OBIE.TotalAdjustments", + "UK.OBIE.TotalCashAdvances", + "UK.OBIE.TotalCharges", + "UK.OBIE.TotalCredits", + "UK.OBIE.TotalDebits", + "UK.OBIE.TotalPurchases" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the amount type." + } + }, + "description": "Set of elements used to provide details of a generic amount for the statement resource." + } + }, + "StatementDateTime": { + "type": "array", + "items": { + "required": [ + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "DateTime": { + "type": "string", + "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Type": { + "type": "string", + "description": "Date time type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransferPromoEnd", + "UK.OBIE.DirectDebitDue", + "UK.OBIE.LastPayment", + "UK.OBIE.LastStatement", + "UK.OBIE.NextStatement", + "UK.OBIE.PaymentDue", + "UK.OBIE.PurchasePromoEnd", + "UK.OBIE.StatementAvailable" + ] + } + }, + "description": "Set of elements used to provide details of a generic date time for the statement resource." + } + }, + "StatementRate": { + "type": "array", + "items": { + "required": [ + "Rate", + "Type" + ], + "type": "object", + "properties": { + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the statement rate type." + }, + "Type": { + "type": "string", + "description": "Statement rate type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AnnualBalanceTransfer", + "UK.OBIE.AnnualBalanceTransferAfterPromo", + "UK.OBIE.AnnualBalanceTransferPromo", + "UK.OBIE.AnnualCash", + "UK.OBIE.AnnualPurchase", + "UK.OBIE.AnnualPurchaseAfterPromo", + "UK.OBIE.AnnualPurchasePromo", + "UK.OBIE.MonthlyBalanceTransfer", + "UK.OBIE.MonthlyCash", + "UK.OBIE.MonthlyPurchase" + ] + } + }, + "description": "Set of elements used to provide details of a generic rate related to the statement resource." + } + }, + "StatementValue": { + "type": "array", + "items": { + "required": [ + "Type", + "Value" + ], + "type": "object", + "properties": { + "Value": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Value associated with the statement value type." + }, + "Type": { + "type": "string", + "description": "Statement value type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AirMilesPoints", + "UK.OBIE.AirMilesPointsBalance", + "UK.OBIE.Credits", + "UK.OBIE.Debits", + "UK.OBIE.HotelPoints", + "UK.OBIE.HotelPointsBalance", + "UK.OBIE.RetailShoppingPoints", + "UK.OBIE.RetailShoppingPointsBalance" + ] + } + }, + "description": "Set of elements used to provide details of a generic number value related to the statement resource." + } + } + }, + "description": "Provides further details on a statement resource." } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } }, - "type": "array", - "minItems": 1 + "description": "Meta Data relevant to the payload" } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/standing-orders": { - "get": { - "tags": [ - "Standing Orders" - ], - "summary": "Get Standing Orders", - "operationId": "GetStandingOrders", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Standing Orders Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } - } - }, - "content": { + }, "application/json": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", "properties": { - "StandingOrder": { + "Statement": { "type": "array", "items": { - "oneOf": [ - { - "type": "object", - "required": [ - "AccountId", - "Frequency" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StandingOrderId": { - "description": "A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Frequency": { - "description": "Individual Definitions:\nNotKnown - Not Known\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlDay - An interval specified in number of calendar days (02 to 31)\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nIndividual Patterns:\nNotKnown (ScheduleCode)\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlDay:NoOfDay (ScheduleCode + NoOfDay)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nNotKnown\nEvryDay\nEvryWorkgDay\nIntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1])\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "NextPaymentDateTime": { - "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastPaymentDateTime": { - "description": "The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "StandingOrderStatusCode": { - "description": "Specifies the status of the standing order in code form.", - "type": "string", - "enum": [ - "Active", - "Inactive" - ] - }, - "FirstPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the first Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "required": [ + "AccountId", + "CreationDateTime", + "EndDateTime", + "StartDateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StatementId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable." + }, + "StatementReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + }, + "Type": { + "type": "string", + "description": "Statement type, in a coded form.", + "enum": [ + "AccountClosure", + "AccountOpening", + "Annual", + "Interim", + "RegularPeriodic" + ] + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatementDescription": { + "type": "array", + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Other descriptions that may be available for the statement resource." + } + }, + "StatementBenefit": { + "type": "array", + "items": { + "required": [ + "Amount", + "Type" + ], + "type": "object", + "properties": { + "Type": { + "type": "string", + "description": "Benefit type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Cashback", + "UK.OBIE.Insurance", + "UK.OBIE.TravelDiscount", + "UK.OBIE.TravelInsurance" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } + "description": "Amount of money associated with the statement benefit type." } }, - "NextPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the next Standing Order.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource." + } + }, + "StatementFee": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement fee." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Fee type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CashAdvance", + "UK.OBIE.CashTransaction", + "UK.OBIE.ForeignCashTransaction", + "UK.OBIE.ForeignTransaction", + "UK.OBIE.Gambling", + "UK.OBIE.LatePayment", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Monthly", + "UK.OBIE.Overlimit", + "UK.OBIE.PostalOrder", + "UK.OBIE.PrizeEntry", + "UK.OBIE.StatementCopy", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)" + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement fee rate type.", + "x-namespaced-enum": [ + "UK.OBIE.AER", + "UK.OBIE.EAR" + ] + }, + "Frequency": { + "type": "string", + "description": "How frequently the fee is applied to the Account.", + "x-namespaced-enum": [ + "UK.OBIE.ChargingPeriod", + "UK.OBIE.PerTransactionAmount", + "UK.OBIE.PerTransactionPercentage", + "UK.OBIE.Quarterly", + "UK.OBIE.StatementMonthly", + "UK.OBIE.Weekly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } + "description": "Amount of money associated with the statement fee type." } }, - "LastPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the last (most recent) Standing Order instruction.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Set of elements used to provide details of a fee for the statement resource." + } + }, + "StatementInterest": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement interest." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Interest amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransfer", + "UK.OBIE.Cash", + "UK.OBIE.EstimatedNext", + "UK.OBIE.Purchase", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary." + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement Interest rate type.", + "x-namespaced-enum": [ + "UK.OBIE.BOEBaseRate", + "UK.OBIE.FixedRate", + "UK.OBIE.Gross", + "UK.OBIE.LoanProviderBaseRate", + "UK.OBIE.Net" + ] + }, + "Frequency": { + "type": "string", + "description": "Specifies the statement fee type requested", + "x-namespaced-enum": [ + "UK.OBIE.Daily", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.PerStatementDate", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly", + "UK.OBIE.Yearly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } + "description": "Amount of money associated with the statement interest amount type." } }, - "FinalPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the final Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Set of elements used to provide details of a generic interest amount related to the statement resource." + } + }, + "StatementAmount": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.ArrearsClosingBalance", + "UK.OBIE.AvailableBalance", + "UK.OBIE.AverageBalanceWhenInCredit", + "UK.OBIE.AverageBalanceWhenInDebit", + "UK.OBIE.AverageDailyBalance", + "UK.OBIE.BalanceTransferClosingBalance", + "UK.OBIE.CashClosingBalance", + "UK.OBIE.ClosingBalance", + "UK.OBIE.CreditLimit", + "UK.OBIE.CurrentPayment", + "UK.OBIE.DirectDebitPaymentDue", + "UK.OBIE.FSCSInsurance", + "UK.OBIE.MinimumPaymentDue", + "UK.OBIE.PendingTransactionsBalance", + "UK.OBIE.PreviousClosingBalance", + "UK.OBIE.PreviousPayment", + "UK.OBIE.PurchaseClosingBalance", + "UK.OBIE.StartingBalance", + "UK.OBIE.TotalAdjustments", + "UK.OBIE.TotalCashAdvances", + "UK.OBIE.TotalCharges", + "UK.OBIE.TotalCredits", + "UK.OBIE.TotalDebits", + "UK.OBIE.TotalPurchases" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } + "description": "Amount of money associated with the amount type." } }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - }, - "additionalProperties": false + "description": "Set of elements used to provide details of a generic amount for the statement resource." + } }, - { - "type": "object", - "required": [ - "AccountId", - "Frequency", - "CreditorAccount" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StandingOrderId": { - "description": "A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Frequency": { - "description": "Individual Definitions:\nNotKnown - Not Known\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlDay - An interval specified in number of calendar days (02 to 31)\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nIndividual Patterns:\nNotKnown (ScheduleCode)\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlDay:NoOfDay (ScheduleCode + NoOfDay)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nNotKnown\nEvryDay\nEvryWorkgDay\nIntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1])\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "NextPaymentDateTime": { - "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastPaymentDateTime": { - "description": "The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "StatementDateTime": { + "type": "array", + "items": { + "required": [ + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "DateTime": { + "type": "string", + "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Type": { + "type": "string", + "description": "Date time type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransferPromoEnd", + "UK.OBIE.DirectDebitDue", + "UK.OBIE.LastPayment", + "UK.OBIE.LastStatement", + "UK.OBIE.NextStatement", + "UK.OBIE.PaymentDue", + "UK.OBIE.PurchasePromoEnd", + "UK.OBIE.StatementAvailable" + ] + } }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Set of elements used to provide details of a generic date time for the statement resource." + } + }, + "StatementRate": { + "type": "array", + "items": { + "required": [ + "Rate", + "Type" + ], + "type": "object", + "properties": { + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the statement rate type." + }, + "Type": { + "type": "string", + "description": "Statement rate type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AnnualBalanceTransfer", + "UK.OBIE.AnnualBalanceTransferAfterPromo", + "UK.OBIE.AnnualBalanceTransferPromo", + "UK.OBIE.AnnualCash", + "UK.OBIE.AnnualPurchase", + "UK.OBIE.AnnualPurchaseAfterPromo", + "UK.OBIE.AnnualPurchasePromo", + "UK.OBIE.MonthlyBalanceTransfer", + "UK.OBIE.MonthlyCash", + "UK.OBIE.MonthlyPurchase" + ] + } }, - "StandingOrderStatusCode": { - "description": "Specifies the status of the standing order in code form.", - "type": "string", - "enum": [ - "Active", - "Inactive" - ] + "description": "Set of elements used to provide details of a generic rate related to the statement resource." + } + }, + "StatementValue": { + "type": "array", + "items": { + "required": [ + "Type", + "Value" + ], + "type": "object", + "properties": { + "Value": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Value associated with the statement value type." + }, + "Type": { + "type": "string", + "description": "Statement value type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AirMilesPoints", + "UK.OBIE.AirMilesPointsBalance", + "UK.OBIE.Credits", + "UK.OBIE.Debits", + "UK.OBIE.HotelPoints", + "UK.OBIE.HotelPointsBalance", + "UK.OBIE.RetailShoppingPoints", + "UK.OBIE.RetailShoppingPointsBalance" + ] + } }, - "FirstPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the first Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Set of elements used to provide details of a generic number value related to the statement resource." + } + } + }, + "description": "Provides further details on a statement resource." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Statement": { + "type": "array", + "items": { + "required": [ + "AccountId", + "CreationDateTime", + "EndDateTime", + "StartDateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "StatementId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable." + }, + "StatementReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + }, + "Type": { + "type": "string", + "description": "Statement type, in a coded form.", + "enum": [ + "AccountClosure", + "AccountOpening", + "Annual", + "Interim", + "RegularPeriodic" + ] + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "EndDateTime": { + "type": "string", + "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatementDescription": { + "type": "array", + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Other descriptions that may be available for the statement resource." + } + }, + "StatementBenefit": { + "type": "array", + "items": { + "required": [ + "Amount", + "Type" + ], + "type": "object", + "properties": { + "Type": { + "type": "string", + "description": "Benefit type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Cashback", + "UK.OBIE.Insurance", + "UK.OBIE.TravelDiscount", + "UK.OBIE.TravelInsurance" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } + "description": "Amount of money associated with the statement benefit type." } }, - "NextPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the next Standing Order.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource." + } + }, + "StatementFee": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement fee." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Fee type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.Annual", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CashAdvance", + "UK.OBIE.CashTransaction", + "UK.OBIE.ForeignCashTransaction", + "UK.OBIE.ForeignTransaction", + "UK.OBIE.Gambling", + "UK.OBIE.LatePayment", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Monthly", + "UK.OBIE.Overlimit", + "UK.OBIE.PostalOrder", + "UK.OBIE.PrizeEntry", + "UK.OBIE.StatementCopy", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)" + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement fee rate type.", + "x-namespaced-enum": [ + "UK.OBIE.AER", + "UK.OBIE.EAR" + ] + }, + "Frequency": { + "type": "string", + "description": "How frequently the fee is applied to the Account.", + "x-namespaced-enum": [ + "UK.OBIE.ChargingPeriod", + "UK.OBIE.PerTransactionAmount", + "UK.OBIE.PerTransactionPercentage", + "UK.OBIE.Quarterly", + "UK.OBIE.StatementMonthly", + "UK.OBIE.Weekly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } + "description": "Amount of money associated with the statement fee type." } }, - "LastPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the last (most recent) Standing Order instruction.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Set of elements used to provide details of a fee for the statement resource." + } + }, + "StatementInterest": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement interest." + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Interest amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransfer", + "UK.OBIE.Cash", + "UK.OBIE.EstimatedNext", + "UK.OBIE.Purchase", + "UK.OBIE.Total" + ] + }, + "Rate": { + "type": "number", + "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary." + }, + "RateType": { + "type": "string", + "description": "Description that may be available for the statement Interest rate type.", + "x-namespaced-enum": [ + "UK.OBIE.BOEBaseRate", + "UK.OBIE.FixedRate", + "UK.OBIE.Gross", + "UK.OBIE.LoanProviderBaseRate", + "UK.OBIE.Net" + ] + }, + "Frequency": { + "type": "string", + "description": "Specifies the statement fee type requested", + "x-namespaced-enum": [ + "UK.OBIE.Daily", + "UK.OBIE.HalfYearly", + "UK.OBIE.Monthly", + "UK.OBIE.PerStatementDate", + "UK.OBIE.Quarterly", + "UK.OBIE.Weekly", + "UK.OBIE.Yearly" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } + "description": "Amount of money associated with the statement interest amount type." } }, - "FinalPaymentAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the final Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Set of elements used to provide details of a generic interest amount related to the statement resource." + } + }, + "StatementAmount": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Amount type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.ArrearsClosingBalance", + "UK.OBIE.AvailableBalance", + "UK.OBIE.AverageBalanceWhenInCredit", + "UK.OBIE.AverageBalanceWhenInDebit", + "UK.OBIE.AverageDailyBalance", + "UK.OBIE.BalanceTransferClosingBalance", + "UK.OBIE.CashClosingBalance", + "UK.OBIE.ClosingBalance", + "UK.OBIE.CreditLimit", + "UK.OBIE.CurrentPayment", + "UK.OBIE.DirectDebitPaymentDue", + "UK.OBIE.FSCSInsurance", + "UK.OBIE.MinimumPaymentDue", + "UK.OBIE.PendingTransactionsBalance", + "UK.OBIE.PreviousClosingBalance", + "UK.OBIE.PreviousPayment", + "UK.OBIE.PurchaseClosingBalance", + "UK.OBIE.StartingBalance", + "UK.OBIE.TotalAdjustments", + "UK.OBIE.TotalCashAdvances", + "UK.OBIE.TotalCharges", + "UK.OBIE.TotalCredits", + "UK.OBIE.TotalDebits", + "UK.OBIE.TotalPurchases" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } + "description": "Amount of money associated with the amount type." } }, - "CreditorAgent": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } + "description": "Set of elements used to provide details of a generic amount for the statement resource." + } + }, + "StatementDateTime": { + "type": "array", + "items": { + "required": [ + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "DateTime": { + "type": "string", + "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Type": { + "type": "string", + "description": "Date time type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.BalanceTransferPromoEnd", + "UK.OBIE.DirectDebitDue", + "UK.OBIE.LastPayment", + "UK.OBIE.LastStatement", + "UK.OBIE.NextStatement", + "UK.OBIE.PaymentDue", + "UK.OBIE.PurchasePromoEnd", + "UK.OBIE.StatementAvailable" + ] } }, - "CreditorAccount": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the beneficiary account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Beneficiary account identification.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } + "description": "Set of elements used to provide details of a generic date time for the statement resource." + } + }, + "StatementRate": { + "type": "array", + "items": { + "required": [ + "Rate", + "Type" + ], + "type": "object", + "properties": { + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the statement rate type." + }, + "Type": { + "type": "string", + "description": "Statement rate type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AnnualBalanceTransfer", + "UK.OBIE.AnnualBalanceTransferAfterPromo", + "UK.OBIE.AnnualBalanceTransferPromo", + "UK.OBIE.AnnualCash", + "UK.OBIE.AnnualPurchase", + "UK.OBIE.AnnualPurchaseAfterPromo", + "UK.OBIE.AnnualPurchasePromo", + "UK.OBIE.MonthlyBalanceTransfer", + "UK.OBIE.MonthlyCash", + "UK.OBIE.MonthlyPurchase" + ] } }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - }, - "additionalProperties": false + "description": "Set of elements used to provide details of a generic rate related to the statement resource." + } + }, + "StatementValue": { + "type": "array", + "items": { + "required": [ + "Type", + "Value" + ], + "type": "object", + "properties": { + "Value": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Value associated with the statement value type." + }, + "Type": { + "type": "string", + "description": "Statement value type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.AirMilesPoints", + "UK.OBIE.AirMilesPointsBalance", + "UK.OBIE.Credits", + "UK.OBIE.Debits", + "UK.OBIE.HotelPoints", + "UK.OBIE.HotelPointsBalance", + "UK.OBIE.RetailShoppingPoints", + "UK.OBIE.RetailShoppingPointsBalance" + ] + } + }, + "description": "Set of elements used to provide details of a generic number value related to the statement resource." + } } - ] + }, + "description": "Provides further details on a statement resource." } } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -37176,35 +96751,30 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false + } } } } @@ -37220,315 +96790,46 @@ } }, "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -37560,1068 +96861,230 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "accounts" - ] - } - ] - } - }, - "/statements": { - "get": { - "tags": [ - "Statements" - ], - "summary": "Get Statements", - "operationId": "GetStatements", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "fromStatementDateTime", - "description": "The UTC ISO 8601 Date Time to filter statements FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "in": "query", - "name": "toStatementDateTime", - "description": "The UTC ISO 8601 Date Time to filter statements TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", - "schema": { - "type": "string", - "format": "date-time" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Statements Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "properties": { - "Statement": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "object", - "description": "Provides further details on a statement resource.", - "required": [ - "AccountId", - "Type", - "StartDateTime", - "EndDateTime", - "CreationDateTime" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StatementId": { - "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StatementReference": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Type": { - "description": "Statement type, in a coded form.", - "type": "string", - "enum": [ - "AccountClosure", - "AccountOpening", - "Annual", - "Interim", - "RegularPeriodic" - ] - }, - "StartDateTime": { - "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "EndDateTime": { - "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "StatementDescription": { - "type": "array", - "items": { - "description": "Other descriptions that may be available for the statement resource.", - "type": "string", - "minLength": 1, - "maxLength": 500 - } - }, - "StatementBenefit": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource.", - "required": [ - "Type", - "Amount" - ], - "properties": { - "Type": { - "description": "Benefit type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Cashback", - "UK.OBIE.Insurance", - "UK.OBIE.TravelDiscount", - "UK.OBIE.TravelInsurance" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement benefit type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementFee": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a fee for the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "Description": { - "description": "Description that may be available for the statement fee.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Fee type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Annual", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CashAdvance", - "UK.OBIE.CashTransaction", - "UK.OBIE.ForeignCashTransaction", - "UK.OBIE.ForeignTransaction", - "UK.OBIE.Gambling", - "UK.OBIE.LatePayment", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Monthly", - "UK.OBIE.Overlimit", - "UK.OBIE.PostalOrder", - "UK.OBIE.PrizeEntry", - "UK.OBIE.StatementCopy", - "UK.OBIE.Total" - ] - }, - "Rate": { - "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)", - "type": "number" - }, - "RateType": { - "description": "Description that may be available for the statement fee rate type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AER", - "UK.OBIE.EAR" - ] - }, - "Frequency": { - "description": "How frequently the fee is applied to the Account.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.ChargingPeriod", - "UK.OBIE.PerTransactionAmount", - "UK.OBIE.PerTransactionPercentage", - "UK.OBIE.Quarterly", - "UK.OBIE.StatementMonthly", - "UK.OBIE.Weekly" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement fee type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementInterest": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic interest amount related to the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "Description": { - "description": "Description that may be available for the statement interest.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Interest amount type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BalanceTransfer", - "UK.OBIE.Cash", - "UK.OBIE.EstimatedNext", - "UK.OBIE.Purchase", - "UK.OBIE.Total" - ] - }, - "Rate": { - "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary.", - "type": "number" - }, - "RateType": { - "description": "Description that may be available for the statement Interest rate type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BOEBaseRate", - "UK.OBIE.FixedRate", - "UK.OBIE.Gross", - "UK.OBIE.LoanProviderBaseRate", - "UK.OBIE.Net" - ] - }, - "Frequency": { - "description": "Specifies the statement fee type requested", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Daily", - "UK.OBIE.HalfYearly", - "UK.OBIE.Monthly", - "UK.OBIE.PerStatementDate", - "UK.OBIE.Quarterly", - "UK.OBIE.Weekly", - "UK.OBIE.Yearly" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement interest amount type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementDateTime": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic date time for the statement resource.", - "required": [ - "DateTime", - "Type" - ], - "properties": { - "DateTime": { - "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Type": { - "description": "Date time type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BalanceTransferPromoEnd", - "UK.OBIE.DirectDebitDue", - "UK.OBIE.LastPayment", - "UK.OBIE.LastStatement", - "UK.OBIE.NextStatement", - "UK.OBIE.PaymentDue", - "UK.OBIE.PurchasePromoEnd", - "UK.OBIE.StatementAvailable" - ] - } - } - } - }, - "StatementRate": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic rate related to the statement resource.", - "required": [ - "Rate", - "Type" - ], - "properties": { - "Rate": { - "description": "Rate associated with the statement rate type.", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - }, - "Type": { - "description": "Statement rate type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AnnualBalanceTransfer", - "UK.OBIE.AnnualBalanceTransferAfterPromo", - "UK.OBIE.AnnualBalanceTransferPromo", - "UK.OBIE.AnnualCash", - "UK.OBIE.AnnualPurchase", - "UK.OBIE.AnnualPurchaseAfterPromo", - "UK.OBIE.AnnualPurchasePromo", - "UK.OBIE.MonthlyBalanceTransfer", - "UK.OBIE.MonthlyCash", - "UK.OBIE.MonthlyPurchase" - ] - } - } - } - }, - "StatementValue": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic number value related to the statement resource.", - "required": [ - "Value", - "Type" - ], - "properties": { - "Value": { - "description": "Value associated with the statement value type.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Type": { - "description": "Statement value type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AirMilesPoints", - "UK.OBIE.AirMilesPointsBalance", - "UK.OBIE.Credits", - "UK.OBIE.Debits", - "UK.OBIE.HotelPoints", - "UK.OBIE.HotelPointsBalance", - "UK.OBIE.RetailShoppingPoints", - "UK.OBIE.RetailShoppingPointsBalance" - ] - } - } - } - } - }, - "additionalProperties": false - }, - { - "type": "object", - "description": "Provides further details on a statement resource.", - "required": [ - "AccountId", - "Type", - "StartDateTime", - "EndDateTime", - "CreationDateTime" - ], - "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StatementId": { - "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "StatementReference": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Type": { - "description": "Statement type, in a coded form.", - "type": "string", - "enum": [ - "AccountClosure", - "AccountOpening", - "Annual", - "Interim", - "RegularPeriodic" - ] - }, - "StartDateTime": { - "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "EndDateTime": { - "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "StatementDescription": { - "type": "array", - "items": { - "description": "Other descriptions that may be available for the statement resource.", - "type": "string", - "minLength": 1, - "maxLength": 500 - } - }, - "StatementBenefit": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource.", - "required": [ - "Type", - "Amount" - ], - "properties": { - "Type": { - "description": "Benefit type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Cashback", - "UK.OBIE.Insurance", - "UK.OBIE.TravelDiscount", - "UK.OBIE.TravelInsurance" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement benefit type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementFee": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a fee for the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "Description": { - "description": "Description that may be available for the statement fee.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Fee type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Annual", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CashAdvance", - "UK.OBIE.CashTransaction", - "UK.OBIE.ForeignCashTransaction", - "UK.OBIE.ForeignTransaction", - "UK.OBIE.Gambling", - "UK.OBIE.LatePayment", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Monthly", - "UK.OBIE.Overlimit", - "UK.OBIE.PostalOrder", - "UK.OBIE.PrizeEntry", - "UK.OBIE.StatementCopy", - "UK.OBIE.Total" - ] - }, - "Rate": { - "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)", - "type": "number" - }, - "RateType": { - "description": "Description that may be available for the statement fee rate type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AER", - "UK.OBIE.EAR" - ] - }, - "Frequency": { - "description": "How frequently the fee is applied to the Account.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.ChargingPeriod", - "UK.OBIE.PerTransactionAmount", - "UK.OBIE.PerTransactionPercentage", - "UK.OBIE.Quarterly", - "UK.OBIE.StatementMonthly", - "UK.OBIE.Weekly" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement fee type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementInterest": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic interest amount related to the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "Description": { - "description": "Description that may be available for the statement interest.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Interest amount type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BalanceTransfer", - "UK.OBIE.Cash", - "UK.OBIE.EstimatedNext", - "UK.OBIE.Purchase", - "UK.OBIE.Total" - ] - }, - "Rate": { - "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary.", - "type": "number" - }, - "RateType": { - "description": "Description that may be available for the statement Interest rate type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BOEBaseRate", - "UK.OBIE.FixedRate", - "UK.OBIE.Gross", - "UK.OBIE.LoanProviderBaseRate", - "UK.OBIE.Net" - ] - }, - "Frequency": { - "description": "Specifies the statement fee type requested", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Daily", - "UK.OBIE.HalfYearly", - "UK.OBIE.Monthly", - "UK.OBIE.PerStatementDate", - "UK.OBIE.Quarterly", - "UK.OBIE.Weekly", - "UK.OBIE.Yearly" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the statement interest amount type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementAmount": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic amount for the statement resource.", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "properties": { - "CreditDebitIndicator": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", - "type": "string", - "enum": [ - "Credit", - "Debit" - ] - }, - "Type": { - "description": "Amount type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.ArrearsClosingBalance", - "UK.OBIE.AvailableBalance", - "UK.OBIE.AverageBalanceWhenInCredit", - "UK.OBIE.AverageBalanceWhenInDebit", - "UK.OBIE.AverageDailyBalance", - "UK.OBIE.BalanceTransferClosingBalance", - "UK.OBIE.CashClosingBalance", - "UK.OBIE.ClosingBalance", - "UK.OBIE.CreditLimit", - "UK.OBIE.CurrentPayment", - "UK.OBIE.DirectDebitPaymentDue", - "UK.OBIE.FSCSInsurance", - "UK.OBIE.MinimumPaymentDue", - "UK.OBIE.PendingTransactionsBalance", - "UK.OBIE.PreviousClosingBalance", - "UK.OBIE.PreviousPayment", - "UK.OBIE.PurchaseClosingBalance", - "UK.OBIE.StartingBalance", - "UK.OBIE.TotalAdjustments", - "UK.OBIE.TotalCashAdvances", - "UK.OBIE.TotalCharges", - "UK.OBIE.TotalCredits", - "UK.OBIE.TotalDebits", - "UK.OBIE.TotalPurchases" - ] - }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the amount type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "StatementDateTime": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic date time for the statement resource.", - "required": [ - "DateTime", - "Type" - ], - "properties": { - "DateTime": { - "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Type": { - "description": "Date time type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BalanceTransferPromoEnd", - "UK.OBIE.DirectDebitDue", - "UK.OBIE.LastPayment", - "UK.OBIE.LastStatement", - "UK.OBIE.NextStatement", - "UK.OBIE.PaymentDue", - "UK.OBIE.PurchasePromoEnd", - "UK.OBIE.StatementAvailable" - ] - } - } - } - }, - "StatementRate": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic rate related to the statement resource.", - "required": [ - "Rate", - "Type" - ], - "properties": { - "Rate": { - "description": "Rate associated with the statement rate type.", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - }, - "Type": { - "description": "Statement rate type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AnnualBalanceTransfer", - "UK.OBIE.AnnualBalanceTransferAfterPromo", - "UK.OBIE.AnnualBalanceTransferPromo", - "UK.OBIE.AnnualCash", - "UK.OBIE.AnnualPurchase", - "UK.OBIE.AnnualPurchaseAfterPromo", - "UK.OBIE.AnnualPurchasePromo", - "UK.OBIE.MonthlyBalanceTransfer", - "UK.OBIE.MonthlyCash", - "UK.OBIE.MonthlyPurchase" - ] - } - } - } - }, - "StatementValue": { - "type": "array", - "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic number value related to the statement resource.", - "required": [ - "Value", - "Type" - ], - "properties": { - "Value": { - "description": "Value associated with the statement value type.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Type": { - "description": "Statement value type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.AirMilesPoints", - "UK.OBIE.AirMilesPointsBalance", - "UK.OBIE.Credits", - "UK.OBIE.Debits", - "UK.OBIE.HotelPoints", - "UK.OBIE.HotelPointsBalance", - "UK.OBIE.RetailShoppingPoints", - "UK.OBIE.RetailShoppingPointsBalance" - ] - } - } - } - } - }, - "additionalProperties": false - } + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } - }, - "additionalProperties": false + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } } - }, - "additionalProperties": false + } } }, - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "400": { - "description": "Bad request", + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -38631,36 +97094,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -38692,45 +97165,218 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "401": { - "description": "Unauthorized", + "404": { + "description": "Not found", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -38738,10 +97384,53 @@ "type": "string" } } - } + }, + "content": {} }, - "403": { - "description": "Forbidden", + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -38751,36 +97440,139 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -38812,134 +97604,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -38971,39 +97697,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -39027,54 +97740,50 @@ "operationId": "GetTransactions", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } }, { - "in": "query", "name": "fromBookingDateTime", + "in": "query", "description": "The UTC ISO 8601 Date Time to filter transactions FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", "schema": { "type": "string", @@ -39082,8 +97791,8 @@ } }, { - "in": "query", "name": "toBookingDateTime", + "in": "query", "description": "The UTC ISO 8601 Date Time to filter transactions TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", "schema": { "type": "string", @@ -39100,15 +97809,710 @@ "schema": { "type": "string" } - } - }, - "content": { + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Transaction": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Amount", + "BookingDateTime", + "CreditDebitIndicator", + "Status" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "TransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "TransactionReference": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context." + }, + "StatementReference": { + "type": "array", + "items": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + } + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the transaction is a credit or a debit entry.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Status": { + "type": "string", + "description": "Status of a transaction entry on the books of the account servicer.", + "enum": [ + "Booked", + "Pending" + ] + }, + "TransactionMutability": { + "type": "string", + "description": "Specifies the Mutability of the Transaction record.", + "enum": [ + "Mutable", + "Immutable" + ] + }, + "BookingDateTime": { + "type": "string", + "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ValueDateTime": { + "type": "string", + "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionInformation": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text." + }, + "AddressLine": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text." + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money in the cash transaction entry." + }, + "ChargeAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Transaction charges to be paid by the charge bearer." + }, + "CurrencyExchange": { + "required": [ + "ExchangeRate", + "SourceCurrency" + ], + "type": "object", + "properties": { + "SourceCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency from which an amount is to be converted in a currency conversion." + }, + "TargetCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency into which an amount is to be converted in a currency conversion." + }, + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency)." + }, + "ContractIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification to unambiguously identify the foreign exchange contract." + }, + "QuotationDate": { + "type": "string", + "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party." + } + }, + "description": "Set of elements used to provide details on the currency exchange." + }, + "BankTransactionCode": { + "required": [ + "Code", + "SubCode" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the family within a domain." + }, + "SubCode": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the sub-product family within a specific family." + } + }, + "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry." + }, + "ProprietaryBankTransactionCode": { + "required": [ + "Code" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Proprietary bank transaction code to identify the underlying transaction." + }, + "Issuer": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identification of the issuer of the proprietary bank transaction code." + } + }, + "description": "Set of elements to fully identify a proprietary bank transaction code." + }, + "Balance": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Type": { + "type": "string", + "description": "Balance type, in a coded form.", + "enum": [ + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the cash balance after a transaction entry is applied to the account.." + } + }, + "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account." + }, + "MerchantDetails": { + "type": "object", + "properties": { + "MerchantName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which the merchant is known." + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + } + }, + "description": "Details of the merchant involved in the transaction." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction." + }, + "DebtorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the debtor." + }, + "DebtorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction." + }, + "CardInstrument": { + "required": [ + "CardSchemeName" + ], + "type": "object", + "properties": { + "CardSchemeName": { + "type": "string", + "description": "Name of the card scheme.", + "enum": [ + "AmericanExpress", + "Diners", + "Discover", + "MasterCard", + "VISA" + ] + }, + "AuthorisationType": { + "type": "string", + "description": "The card authorisation type.", + "enum": [ + "ConsumerDevice", + "Contactless", + "None", + "PIN" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of the cardholder using the card instrument." + }, + "Identification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked." + } + }, + "description": "Set of elements to describe the card instrument used in the transaction." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "Provides further details on an entry in the report." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, "application/json": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", @@ -39116,923 +98520,1335 @@ "Transaction": { "type": "array", "items": { - "oneOf": [ - { + "required": [ + "AccountId", + "Amount", + "BookingDateTime", + "CreditDebitIndicator", + "Status" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "TransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "TransactionReference": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context." + }, + "StatementReference": { + "type": "array", + "items": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + } + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the transaction is a credit or a debit entry.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Status": { + "type": "string", + "description": "Status of a transaction entry on the books of the account servicer.", + "enum": [ + "Booked", + "Pending" + ] + }, + "TransactionMutability": { + "type": "string", + "description": "Specifies the Mutability of the Transaction record.", + "enum": [ + "Mutable", + "Immutable" + ] + }, + "BookingDateTime": { + "type": "string", + "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ValueDateTime": { + "type": "string", + "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionInformation": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text." + }, + "AddressLine": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text." + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money in the cash transaction entry." + }, + "ChargeAmount": { + "required": [ + "Amount", + "Currency" + ], "type": "object", - "description": "Provides further details on an entry in the report.", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Transaction charges to be paid by the charge bearer." + }, + "CurrencyExchange": { "required": [ - "AccountId", - "CreditDebitIndicator", - "Status", - "BookingDateTime", - "Amount" + "ExchangeRate", + "SourceCurrency" ], + "type": "object", "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", + "SourceCurrency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 40 + "description": "Currency from which an amount is to be converted in a currency conversion." + }, + "TargetCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency into which an amount is to be converted in a currency conversion." }, - "TransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency)." + }, + "ContractIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 210 + "type": "string", + "description": "Unique identification to unambiguously identify the foreign exchange contract." }, - "TransactionReference": { - "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context.", + "QuotationDate": { "type": "string", + "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party." + } + }, + "description": "Set of elements used to provide details on the currency exchange." + }, + "BankTransactionCode": { + "required": [ + "Code", + "SubCode" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 4, "minLength": 1, - "maxLength": 210 + "type": "string", + "description": "Specifies the family within a domain." }, - "StatementReference": { - "type": "array", - "items": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } + "SubCode": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the sub-product family within a specific family." + } + }, + "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry." + }, + "ProprietaryBankTransactionCode": { + "required": [ + "Code" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Proprietary bank transaction code to identify the underlying transaction." }, + "Issuer": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identification of the issuer of the proprietary bank transaction code." + } + }, + "description": "Set of elements to fully identify a proprietary bank transaction code." + }, + "Balance": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { "CreditDebitIndicator": { - "description": "Indicates whether the transaction is a credit or a debit entry.", "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", "enum": [ "Credit", "Debit" ] }, - "Status": { - "description": "Status of a transaction entry on the books of the account servicer.", + "Type": { "type": "string", + "description": "Balance type, in a coded form.", "enum": [ - "Booked", - "Pending" + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" ] }, - "TransactionMutability": { - "description": "Specifies the Mutability of the Transaction record.", + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money of the cash balance after a transaction entry is applied to the account.." + } + }, + "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account." + }, + "MerchantDetails": { + "type": "object", + "properties": { + "MerchantName": { + "maxLength": 350, + "minLength": 1, "type": "string", - "enum": [ - "Mutable", - "Immutable" - ] + "description": "Name by which the merchant is known." }, - "BookingDateTime": { - "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, "type": "string", - "format": "date-time" - }, - "ValueDateTime": { - "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + } + }, + "description": "Details of the merchant involved in the transaction." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { "type": "string", - "format": "date-time" + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] }, - "AddressLine": { - "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text.", + "Identification": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, - "Amount": { + "PostalAddress": { "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money in the cash transaction entry.", "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Identification of a division of a large organisation or building." }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction." + }, + "DebtorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, - "ChargeAmount": { + "PostalAddress": { "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Transaction charges to be paid by the charge bearer.", "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Identification of a division of a large organisation or building." }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the debtor." + }, + "DebtorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction." + }, + "CardInstrument": { + "required": [ + "CardSchemeName" + ], + "type": "object", + "properties": { + "CardSchemeName": { + "type": "string", + "description": "Name of the card scheme.", + "enum": [ + "AmericanExpress", + "Diners", + "Discover", + "MasterCard", + "VISA" + ] + }, + "AuthorisationType": { + "type": "string", + "description": "The card authorisation type.", + "enum": [ + "ConsumerDevice", + "Contactless", + "None", + "PIN" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of the cardholder using the card instrument." + }, + "Identification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked." + } + }, + "description": "Set of elements to describe the card instrument used in the transaction." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "Provides further details on an entry in the report." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "Transaction": { + "type": "array", + "items": { + "required": [ + "AccountId", + "Amount", + "BookingDateTime", + "CreditDebitIndicator", + "Status" + ], + "type": "object", + "properties": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." + }, + "TransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "TransactionReference": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context." + }, + "StatementReference": { + "type": "array", + "items": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + } + }, + "CreditDebitIndicator": { + "type": "string", + "description": "Indicates whether the transaction is a credit or a debit entry.", + "enum": [ + "Credit", + "Debit" + ] + }, + "Status": { + "type": "string", + "description": "Status of a transaction entry on the books of the account servicer.", + "enum": [ + "Booked", + "Pending" + ] + }, + "TransactionMutability": { + "type": "string", + "description": "Specifies the Mutability of the Transaction record.", + "enum": [ + "Mutable", + "Immutable" + ] + }, + "BookingDateTime": { + "type": "string", + "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ValueDateTime": { + "type": "string", + "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "TransactionInformation": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text." + }, + "AddressLine": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text." + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money in the cash transaction entry." + }, + "ChargeAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Transaction charges to be paid by the charge bearer." + }, + "CurrencyExchange": { + "required": [ + "ExchangeRate", + "SourceCurrency" + ], + "type": "object", + "properties": { + "SourceCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency from which an amount is to be converted in a currency conversion." + }, + "TargetCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency into which an amount is to be converted in a currency conversion." }, - "CurrencyExchange": { - "type": "object", - "required": [ - "SourceCurrency", - "ExchangeRate" - ], - "description": "Set of elements used to provide details on the currency exchange.", - "properties": { - "SourceCurrency": { - "description": "Currency from which an amount is to be converted in a currency conversion.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "TargetCurrency": { - "description": "Currency into which an amount is to be converted in a currency conversion.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).", - "type": "number" - }, - "ContractIdentification": { - "description": "Unique identification to unambiguously identify the foreign exchange contract.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "QuotationDate": { - "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "InstructedAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." }, - "BankTransactionCode": { - "type": "object", - "required": [ - "Code", - "SubCode" - ], - "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry.", - "properties": { - "Code": { - "description": "Specifies the family within a domain.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "SubCode": { - "description": "Specifies the sub-product family within a specific family.", - "type": "string", - "minLength": 1, - "maxLength": 4 - } - } + "ExchangeRate": { + "type": "number", + "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency)." }, - "ProprietaryBankTransactionCode": { - "type": "object", - "required": [ - "Code" - ], - "description": "Set of elements to fully identify a proprietary bank transaction code.", - "properties": { - "Code": { - "description": "Proprietary bank transaction code to identify the underlying transaction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Issuer": { - "description": "Identification of the issuer of the proprietary bank transaction code.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - }, - "additionalProperties": false + "ContractIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification to unambiguously identify the foreign exchange contract." }, - "CardInstrument": { - "type": "object", + "QuotationDate": { + "type": "string", + "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { "required": [ - "CardSchemeName" + "Amount", + "Currency" ], - "description": "Set of elements to describe the card instrument used in the transaction.", + "type": "object", "properties": { - "CardSchemeName": { - "description": "Name of the card scheme.", - "type": "string", - "enum": [ - "AmericanExpress", - "Diners", - "Discover", - "MasterCard", - "VISA" - ] - }, - "AuthorisationType": { - "description": "The card authorisation type.", - "type": "string", - "enum": [ - "ConsumerDevice", - "Contactless", - "None", - "PIN" - ] - }, - "Name": { - "description": "Name of the cardholder using the card instrument.", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "Identification": { - "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 34 + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } }, - "additionalProperties": false - }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party." } }, - "additionalProperties": false + "description": "Set of elements used to provide details on the currency exchange." }, - { - "type": "object", - "description": "Provides further details on an entry in the report.", + "BankTransactionCode": { "required": [ - "AccountId", - "CreditDebitIndicator", - "Status", - "BookingDateTime", - "Amount" + "Code", + "SubCode" ], + "type": "object", "properties": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", + "Code": { + "maxLength": 4, "minLength": 1, - "maxLength": 40 - }, - "TransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", "type": "string", - "minLength": 1, - "maxLength": 210 + "description": "Specifies the family within a domain." }, - "TransactionReference": { - "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context.", + "SubCode": { + "maxLength": 4, + "minLength": 1, "type": "string", + "description": "Specifies the sub-product family within a specific family." + } + }, + "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry." + }, + "ProprietaryBankTransactionCode": { + "required": [ + "Code" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 35, "minLength": 1, - "maxLength": 210 - }, - "StatementReference": { - "type": "array", - "items": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } + "type": "string", + "description": "Proprietary bank transaction code to identify the underlying transaction." }, + "Issuer": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identification of the issuer of the proprietary bank transaction code." + } + }, + "description": "Set of elements to fully identify a proprietary bank transaction code." + }, + "Balance": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { "CreditDebitIndicator": { - "description": "Indicates whether the transaction is a credit or a debit entry.", "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", "enum": [ "Credit", "Debit" ] }, - "Status": { - "description": "Status of a transaction entry on the books of the account servicer.", - "type": "string", - "enum": [ - "Booked", - "Pending" - ] - }, - "TransactionMutability": { - "description": "Specifies the Mutability of the Transaction record.", + "Type": { "type": "string", + "description": "Balance type, in a coded form.", "enum": [ - "Mutable", - "Immutable" + "ClosingAvailable", + "ClosingBooked", + "ClosingCleared", + "Expected", + "ForwardAvailable", + "Information", + "InterimAvailable", + "InterimBooked", + "InterimCleared", + "OpeningAvailable", + "OpeningBooked", + "OpeningCleared", + "PreviouslyClosedBooked" ] }, - "BookingDateTime": { - "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ValueDateTime": { - "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "TransactionInformation": { - "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text.", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "AddressLine": { - "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, "Amount": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money in the cash transaction entry.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "ChargeAmount": { "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Transaction charges to be paid by the charge bearer.", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money of the cash balance after a transaction entry is applied to the account.." + } + }, + "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account." + }, + "MerchantDetails": { + "type": "object", + "properties": { + "MerchantName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which the merchant is known." + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + } + }, + "description": "Details of the merchant involved in the transaction." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, - "CurrencyExchange": { + "PostalAddress": { "type": "object", - "required": [ - "SourceCurrency", - "ExchangeRate" - ], - "description": "Set of elements used to provide details on the currency exchange.", "properties": { - "SourceCurrency": { - "description": "Currency from which an amount is to be converted in a currency conversion.", + "AddressType": { "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] }, - "TargetCurrency": { - "description": "Currency into which an amount is to be converted in a currency conversion.", + "Department": { + "maxLength": 70, + "minLength": 1, "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Identification of a division of a large organisation or building." }, - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", + "SubDepartment": { + "maxLength": 70, + "minLength": 1, "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).", - "type": "number" + "description": "Identification of a sub-division of a large organisation or building." }, - "ContractIdentification": { - "description": "Unique identification to unambiguously identify the foreign exchange contract.", - "type": "string", + "StreetName": { + "maxLength": 70, "minLength": 1, - "maxLength": 35 - }, - "QuotationDate": { - "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", - "format": "date-time" + "description": "Name of a street or thoroughfare." }, - "InstructedAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - }, - "BankTransactionCode": { - "type": "object", - "required": [ - "Code", - "SubCode" - ], - "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry.", - "properties": { - "Code": { - "description": "Specifies the family within a domain.", - "type": "string", + "BuildingNumber": { + "maxLength": 16, "minLength": 1, - "maxLength": 4 - }, - "SubCode": { - "description": "Specifies the sub-product family within a specific family.", "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, "minLength": 1, - "maxLength": 4 - } - } - }, - "ProprietaryBankTransactionCode": { - "type": "object", - "required": [ - "Code" - ], - "description": "Set of elements to fully identify a proprietary bank transaction code.", - "properties": { - "Code": { - "description": "Proprietary bank transaction code to identify the underlying transaction.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, - "Issuer": { - "description": "Identification of the issuer of the proprietary bank transaction code.", + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 - } - }, - "additionalProperties": false - }, - "Balance": { - "type": "object", - "required": [ - "CreditDebitIndicator", - "Type", - "Amount" - ], - "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account.", - "properties": { - "CreditDebitIndicator": { - "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", "type": "string", - "enum": [ - "Credit", - "Debit" - ] + "description": "Identifies a subdivision of a country such as state, region, county." }, - "Type": { - "description": "Balance type, in a coded form.", + "Country": { + "pattern": "^[A-Z]{2,2}$", "type": "string", - "enum": [ - "ClosingAvailable", - "ClosingBooked", - "ClosingCleared", - "Expected", - "ForwardAvailable", - "Information", - "InterimAvailable", - "InterimBooked", - "InterimCleared", - "OpeningAvailable", - "OpeningBooked", - "OpeningCleared", - "PreviouslyClosedBooked" - ] + "description": "Nation with its own government." }, - "Amount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money of the cash balance after a transaction entry is applied to the account..", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." } } }, - "additionalProperties": false + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] }, - "MerchantDetails": { - "type": "object", - "description": "Details of the merchant involved in the transaction.", - "properties": { - "MerchantName": { - "description": "Name by which the merchant is known.", - "type": "string", - "minLength": 1, - "maxLength": 350 - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - } - } + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction." + }, + "DebtorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, - "CreditorAgent": { + "PostalAddress": { "type": "object", - "description": "Financial institution servicing an account for the creditor.", "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", + "AddressType": { "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" ] }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", + "Department": { + "maxLength": 70, "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAccount": { - "type": "object", - "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] + "description": "Identification of a division of a large organisation or building." }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "SubDepartment": { + "maxLength": 70, "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Identification of a sub-division of a large organisation or building." }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "StreetName": { + "maxLength": 70, "minLength": 1, - "maxLength": 34 - } - } - }, - "DebtorAgent": { - "type": "object", - "description": "Financial institution servicing an account for the debtor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] + "description": "Name of a street or thoroughfare." }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", + "BuildingNumber": { + "maxLength": 16, "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "DebtorAccount": { - "type": "object", - "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] + "description": "Number that identifies the position of a building on a street." }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "PostCode": { + "maxLength": 16, "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "TownName": { + "maxLength": 35, "minLength": 1, - "maxLength": 34 - } - } - }, - "CardInstrument": { - "type": "object", - "required": [ - "CardSchemeName" - ], - "description": "Set of elements to describe the card instrument used in the transaction.", - "properties": { - "CardSchemeName": { - "description": "Name of the card scheme.", "type": "string", - "enum": [ - "AmericanExpress", - "Diners", - "Discover", - "MasterCard", - "VISA" - ] + "description": "Name of a built-up area, with defined boundaries, and a local government." }, - "AuthorisationType": { - "description": "The card authorisation type.", + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, "type": "string", - "enum": [ - "ConsumerDevice", - "Contactless", - "None", - "PIN" - ] + "description": "Identifies a subdivision of a country such as state, region, county." }, - "Name": { - "description": "Name of the cardholder using the card instrument.", + "Country": { + "pattern": "^[A-Z]{2,2}$", "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Nation with its own government." }, - "Identification": { - "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked.", - "type": "string", - "minLength": 1, - "maxLength": 34 + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } }, - "additionalProperties": false + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the debtor." + }, + "DebtorAccount": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] }, - "SupplementaryData": { - "type": "object", - "properties": {}, - "additionalProperties": true, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction." + }, + "CardInstrument": { + "required": [ + "CardSchemeName" + ], + "type": "object", + "properties": { + "CardSchemeName": { + "type": "string", + "description": "Name of the card scheme.", + "enum": [ + "AmericanExpress", + "Diners", + "Discover", + "MasterCard", + "VISA" + ] + }, + "AuthorisationType": { + "type": "string", + "description": "The card authorisation type.", + "enum": [ + "ConsumerDevice", + "Contactless", + "None", + "PIN" + ] + }, + "Name": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of the cardholder using the card instrument." + }, + "Identification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked." } }, - "additionalProperties": false + "description": "Set of elements to describe the card instrument used in the transaction." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - ] + }, + "description": "Provides further details on an entry in the report." } } - }, - "additionalProperties": false + } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -40055,80 +99871,178 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - }, - "additionalProperties": false + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "additionalProperties": false - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { + }, "application/json": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -40160,39 +100074,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -40206,7 +100200,8 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", @@ -40219,36 +100214,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -40280,39 +100285,212 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -40326,7 +100504,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -40337,7 +100516,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -40348,24 +100528,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -40378,36 +100560,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -40439,39 +100631,212 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/json": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } diff --git a/dist/openapi-flattened/aggregated-polling-openapi-flattened.json b/dist/openapi-flattened/aggregated-polling-openapi-flattened.json index 6a3ca7d7..1ac8cc31 100644 --- a/dist/openapi-flattened/aggregated-polling-openapi-flattened.json +++ b/dist/openapi-flattened/aggregated-polling-openapi-flattened.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Aggregated Event Polling API Specification", - "description": "OpenAPI for Aggregated Event Polling API Specification", + "description": "Swagger for Aggregated Event Polling API Specification", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,8 +12,13 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1" + } + ], "paths": { "/events": { "post": { @@ -24,52 +29,152 @@ "operationId": "CreateEvents", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "type": "object", + "properties": { + "maxEvents": { + "type": "integer", + "description": "Maximum number of events to be returned. A value of zero indicates the ASPSP should not return events even if available" + }, + "returnImmediately": { + "type": "boolean", + "description": "Indicates whether an ASPSP should return a response immediately or provide a long poll" + }, + "ack": { + "type": "array", + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "An array of jti values indicating event notifications positively acknowledged by the TPP" + } + }, + "setErrs": { + "type": "object", + "additionalProperties": { + "required": [ + "description", + "err" + ], + "type": "object", + "properties": { + "err": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A value from the IANA \"Security Event Token Delivery Error Codes\" registry that identifies the error as defined here \nhttps://tools.ietf.org/id/draft-ietf-secevent-http-push-03.html#error_codes" + }, + "description": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "A human-readable string that provides additional diagnostic information" + } + } + }, + "description": "An object that encapsulates all negative acknowledgements transmitted by the TPP" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "type": "object", + "properties": { + "maxEvents": { + "type": "integer", + "description": "Maximum number of events to be returned. A value of zero indicates the ASPSP should not return events even if available" + }, + "returnImmediately": { + "type": "boolean", + "description": "Indicates whether an ASPSP should return a response immediately or provide a long poll" + }, + "ack": { + "type": "array", + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "An array of jti values indicating event notifications positively acknowledged by the TPP" + } + }, + "setErrs": { + "type": "object", + "additionalProperties": { + "required": [ + "description", + "err" + ], + "type": "object", + "properties": { + "err": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A value from the IANA \"Security Event Token Delivery Error Codes\" registry that identifies the error as defined here \nhttps://tools.ietf.org/id/draft-ietf-secevent-http-push-03.html#error_codes" + }, + "description": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "A human-readable string that provides additional diagnostic information" + } + } + }, + "description": "An object that encapsulates all negative acknowledgements transmitted by the TPP" + } + } + } + } + }, + "required": true + }, "responses": { "200": { "description": "Read awaiting events", @@ -82,29 +187,50 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { + "required": [ + "moreAvailable", + "sets" + ], "type": "object", + "properties": { + "moreAvailable": { + "type": "boolean", + "description": "A JSON boolean value that indicates if more unacknowledged event notifications are available to be returned." + }, + "sets": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "An object named with the jti of the event notification to be delivered. The value is the event notification, expressed as a string.\nThe payload of the event should be defined in the OBEventNotification2 format." + }, + "description": "A JSON object that contains zero or more nested JSON attributes. If there are no outstanding event notifications to be transmitted, the JSON object SHALL be empty." + } + } + } + }, + "application/jose+jwe": { + "schema": { "required": [ "moreAvailable", "sets" ], + "type": "object", "properties": { "moreAvailable": { - "description": "A JSON boolean value that indicates if more unacknowledged event notifications are available to be returned.", - "type": "boolean" + "type": "boolean", + "description": "A JSON boolean value that indicates if more unacknowledged event notifications are available to be returned." }, "sets": { "type": "object", - "description": "A JSON object that contains zero or more nested JSON attributes. If there are no outstanding event notifications to be transmitted, the JSON object SHALL be empty.", - "properties": {}, "additionalProperties": { - "description": "An object named with the jti of the event notification to be delivered. The value is the event notification, expressed as a string.\nThe payload of the event should be defined in the OBEventNotification2 format.", - "type": "string" - } + "type": "string", + "description": "An object named with the jti of the event notification to be delivered. The value is the event notification, expressed as a string.\nThe payload of the event should be defined in the OBEventNotification2 format." + }, + "description": "A JSON object that contains zero or more nested JSON attributes. If there are no outstanding event notifications to be transmitted, the JSON object SHALL be empty." } - }, - "additionalProperties": false + } } } } @@ -120,29 +246,50 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { + "required": [ + "moreAvailable", + "sets" + ], "type": "object", + "properties": { + "moreAvailable": { + "type": "boolean", + "description": "A JSON boolean value that indicates if more unacknowledged event notifications are available to be returned." + }, + "sets": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "An object named with the jti of the event notification to be delivered. The value is the event notification, expressed as a string.\nThe payload of the event should be defined in the OBEventNotification2 format." + }, + "description": "A JSON object that contains zero or more nested JSON attributes. If there are no outstanding event notifications to be transmitted, the JSON object SHALL be empty." + } + } + } + }, + "application/jose+jwe": { + "schema": { "required": [ "moreAvailable", "sets" ], + "type": "object", "properties": { "moreAvailable": { - "description": "A JSON boolean value that indicates if more unacknowledged event notifications are available to be returned.", - "type": "boolean" + "type": "boolean", + "description": "A JSON boolean value that indicates if more unacknowledged event notifications are available to be returned." }, "sets": { "type": "object", - "description": "A JSON object that contains zero or more nested JSON attributes. If there are no outstanding event notifications to be transmitted, the JSON object SHALL be empty.", - "properties": {}, "additionalProperties": { - "description": "An object named with the jti of the event notification to be delivered. The value is the event notification, expressed as a string.\nThe payload of the event should be defined in the OBEventNotification2 format.", - "type": "string" - } + "type": "string", + "description": "An object named with the jti of the event notification to be delivered. The value is the event notification, expressed as a string.\nThe payload of the event should be defined in the OBEventNotification2 format." + }, + "description": "A JSON object that contains zero or more nested JSON attributes. If there are no outstanding event notifications to be transmitted, the JSON object SHALL be empty." } - }, - "additionalProperties": false + } } } } @@ -158,36 +305,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -219,39 +376,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -265,7 +502,8 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", @@ -278,36 +516,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -339,39 +587,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -385,7 +713,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -396,7 +725,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -407,7 +737,8 @@ "type": "string" } } - } + }, + "content": {} }, "415": { "description": "Unsupported Media Type", @@ -418,24 +749,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -448,36 +781,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -509,39 +852,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -555,63 +978,7 @@ ] } ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "maxEvents": { - "description": "Maximum number of events to be returned. A value of zero indicates the ASPSP should not return events even if available", - "type": "integer" - }, - "returnImmediately": { - "description": "Indicates whether an ASPSP should return a response immediately or provide a long poll", - "type": "boolean" - }, - "ack": { - "type": "array", - "items": { - "description": "An array of jti values indicating event notifications positively acknowledged by the TPP", - "type": "string", - "minLength": 1, - "maxLength": 128 - } - }, - "setErrs": { - "type": "object", - "description": "An object that encapsulates all negative acknowledgements transmitted by the TPP", - "properties": {}, - "additionalProperties": { - "type": "object", - "required": [ - "err", - "description" - ], - "properties": { - "err": { - "description": "A value from the IANA \"Security Event Token Delivery Error Codes\" registry that identifies the error as defined here \nhttps://tools.ietf.org/id/draft-ietf-secevent-http-push-03.html#error_codes", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "description": { - "description": "A human-readable string that provides additional diagnostic information", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - } - } - }, - "additionalProperties": false - } - } - }, - "required": true - } + "x-codegen-request-body-name": "OBEventPolling1Param" } } }, diff --git a/dist/openapi-flattened/callback-urls-openapi-flattened.json b/dist/openapi-flattened/callback-urls-openapi-flattened.json index ef5ccbcd..8630fe58 100644 --- a/dist/openapi-flattened/callback-urls-openapi-flattened.json +++ b/dist/openapi-flattened/callback-urls-openapi-flattened.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Event Notification API Specification - ASPSP Endpoints", - "description": "OpenAPI for Event Notification API Specification - ASPSP Endpoints", + "description": "Swagger for Event Notification API Specification - ASPSP Endpoints", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,47 +12,42 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1" + } + ], "paths": { "/callback-urls": { - "post": { - "summary": "Create a callback URL", + "get": { "tags": [ "Callback URLs" ], + "summary": "Read all callback URLs", "parameters": [ { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { "in": "header", - "name": "x-jws-signature", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", "required": true, - "description": "Header containing a detached JWS signature of the body of the payload.", "schema": { "type": "string" } } ], "responses": { - "201": { - "description": "Callback URL created", + "200": { + "description": "An array of callback URLs", "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.", @@ -62,40 +57,54 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { + "required": [ + "Data", + "Links", + "Meta" + ], "type": "object", "properties": { "Data": { "type": "object", "properties": { - "CallbackUrlId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Url": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string" - }, - "Version": { - "description": "Version for the event notification.", - "type": "string", - "minLength": 1, - "maxLength": 10 + "CallbackUrl": { + "type": "array", + "items": { + "required": [ + "CallbackUrlId", + "Url", + "Version" + ], + "type": "object", + "properties": { + "CallbackUrlId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource." + }, + "Url": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to." + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + } + } + } } - }, - "required": [ - "CallbackUrlId", - "Url", - "Version" - ], - "additionalProperties": false + } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -118,40 +127,126 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, + } + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Data", "Links", "Meta" ], - "additionalProperties": false + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "CallbackUrl": { + "type": "array", + "items": { + "required": [ + "CallbackUrlId", + "Url", + "Version" + ], + "type": "object", + "properties": { + "CallbackUrlId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource." + }, + "Url": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to." + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + } + } + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } } } } @@ -159,91 +254,159 @@ "400": { "description": "Bad request", "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, "401": { - "description": "Unauthorized" + "description": "Unauthorized", + "content": {} }, "403": { - "description": "Forbidden" + "description": "Forbidden", + "content": {} + }, + "404": { + "description": "Not found", + "content": {} }, "405": { - "description": "Method Not Allowed" + "description": "Method Not Allowed", + "content": {} }, "406": { - "description": "Not Acceptable" - }, - "415": { - "description": "Unsupported Media Type" + "description": "Not Acceptable", + "content": {} }, "429": { "description": "Too Many Requests", @@ -254,78 +417,142 @@ "type": "integer" } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -339,73 +566,108 @@ "payments" ] } + ] + }, + "post": { + "tags": [ + "Callback URLs" + ], + "summary": "Create a callback URL", + "parameters": [ + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-jws-signature", + "in": "header", + "description": "Header containing a detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + } ], "requestBody": { "description": "Create an Callback URI", "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { + "required": [ + "Data" + ], "type": "object", "properties": { "Data": { + "required": [ + "Url", + "Version" + ], "type": "object", "properties": { "Url": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string" + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to." }, "Version": { - "description": "Version for the event notification.", - "type": "string", + "maxLength": 10, "minLength": 1, - "maxLength": 10 + "type": "string", + "description": "Version for the event notification." } - }, + } + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { "required": [ "Url", "Version" ], - "additionalProperties": false + "type": "object", + "properties": { + "Url": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to." + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + } + } } - }, - "required": [ - "Data" - ], - "additionalProperties": false + } } } }, "required": true - } - }, - "get": { - "summary": "Read all callback URLs", - "tags": [ - "Callback URLs" - ], - "parameters": [ - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - } - ], + }, "responses": { - "200": { - "description": "An array of callback URLs", + "201": { + "description": "Callback URL created", "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.", @@ -415,49 +677,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { + "required": [ + "Data", + "Links", + "Meta" + ], "type": "object", "properties": { "Data": { + "required": [ + "CallbackUrlId", + "Url", + "Version" + ], "type": "object", "properties": { - "CallbackUrl": { - "items": { - "type": "object", - "properties": { - "CallbackUrlId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Url": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string" - }, - "Version": { - "description": "Version for the event notification.", - "type": "string", - "minLength": 1, - "maxLength": 10 - } - }, - "required": [ - "CallbackUrlId", - "Url", - "Version" - ], - "additionalProperties": false - }, - "type": "array" + "CallbackUrlId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource." + }, + "Url": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to." + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." } - }, - "additionalProperties": false + } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -480,40 +739,118 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, + } + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Data", "Links", "Meta" ], - "additionalProperties": false + "type": "object", + "properties": { + "Data": { + "required": [ + "CallbackUrlId", + "Url", + "Version" + ], + "type": "object", + "properties": { + "CallbackUrlId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource." + }, + "Url": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to." + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } } } } @@ -521,91 +858,159 @@ "400": { "description": "Bad request", "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, "401": { - "description": "Unauthorized" + "description": "Unauthorized", + "content": {} }, "403": { - "description": "Forbidden" - }, - "404": { - "description": "Not found" + "description": "Forbidden", + "content": {} }, "405": { - "description": "Method Not Allowed" + "description": "Method Not Allowed", + "content": {} }, "406": { - "description": "Not Acceptable" + "description": "Not Acceptable", + "content": {} + }, + "415": { + "description": "Unsupported Media Type", + "content": {} }, "429": { "description": "Too Many Requests", @@ -616,78 +1021,142 @@ "type": "integer" } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -701,15 +1170,16 @@ "payments" ] } - ] + ], + "x-codegen-request-body-name": "OBCallbackUrl1Param" } }, "/callback-urls/{CallbackUrlId}": { "put": { - "summary": "Amend a callback URI", "tags": [ "Callback URLs" ], + "summary": "Amend a callback URI", "parameters": [ { "name": "CallbackUrlId", @@ -721,33 +1191,96 @@ } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-jws-signature", - "required": true, + "in": "header", "description": "Header containing a detached JWS signature of the body of the payload.", + "required": true, "schema": { "type": "string" } } ], + "requestBody": { + "description": "Create an Callback URI", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Url", + "Version" + ], + "type": "object", + "properties": { + "Url": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to." + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + } + } + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Url", + "Version" + ], + "type": "object", + "properties": { + "Url": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to." + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + } + } + } + } + } + } + }, + "required": true + }, "responses": { "200": { "description": "Callback URL changed", @@ -760,40 +1293,134 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { + "required": [ + "Data", + "Links", + "Meta" + ], "type": "object", "properties": { "Data": { + "required": [ + "CallbackUrlId", + "Url", + "Version" + ], "type": "object", "properties": { "CallbackUrlId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource." }, "Url": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string" + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to." }, "Version": { - "description": "Version for the event notification.", - "type": "string", + "maxLength": 10, "minLength": 1, - "maxLength": 10 + "type": "string", + "description": "Version for the event notification." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" } }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Links", + "Meta" + ], + "type": "object", + "properties": { + "Data": { "required": [ "CallbackUrlId", "Url", "Version" ], - "additionalProperties": false + "type": "object", + "properties": { + "CallbackUrlId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource." + }, + "Url": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to." + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + } + } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -816,40 +1443,30 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "required": [ - "Data", - "Links", - "Meta" - ], - "additionalProperties": false + } } } } @@ -857,94 +1474,163 @@ "400": { "description": "Bad request", "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, "401": { - "description": "Unauthorized" + "description": "Unauthorized", + "content": {} }, "403": { - "description": "Forbidden" + "description": "Forbidden", + "content": {} }, "404": { - "description": "Not found" + "description": "Not found", + "content": {} }, "405": { - "description": "Method Not Allowed" + "description": "Method Not Allowed", + "content": {} }, "406": { - "description": "Not Acceptable" + "description": "Not Acceptable", + "content": {} }, "415": { - "description": "Unsupported Media Type" + "description": "Unsupported Media Type", + "content": {} }, "429": { "description": "Too Many Requests", @@ -955,78 +1641,142 @@ "type": "integer" } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1041,49 +1791,13 @@ ] } ], - "requestBody": { - "description": "Create an Callback URI", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Data": { - "type": "object", - "properties": { - "Url": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string" - }, - "Version": { - "description": "Version for the event notification.", - "type": "string", - "minLength": 1, - "maxLength": 10 - } - }, - "required": [ - "Url", - "Version" - ], - "additionalProperties": false - } - }, - "required": [ - "Data" - ], - "additionalProperties": false - } - } - }, - "required": true - } + "x-codegen-request-body-name": "OBCallbackUrl1Param" }, "delete": { - "summary": "Delete a callback URI", "tags": [ "Callback URLs" ], + "summary": "Delete a callback URI", "parameters": [ { "name": "CallbackUrlId", @@ -1095,19 +1809,18 @@ } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } @@ -1115,96 +1828,165 @@ ], "responses": { "204": { - "description": "Callback URL changed" + "description": "Callback URL changed", + "content": {} }, "400": { "description": "Bad request", "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, "401": { - "description": "Unauthorized" + "description": "Unauthorized", + "content": {} }, "403": { - "description": "Forbidden" + "description": "Forbidden", + "content": {} }, "404": { - "description": "Not found" + "description": "Not found", + "content": {} }, "405": { - "description": "Method Not Allowed" + "description": "Method Not Allowed", + "content": {} }, "406": { - "description": "Not Acceptable" + "description": "Not Acceptable", + "content": {} }, "429": { "description": "Too Many Requests", @@ -1215,78 +1997,142 @@ "type": "integer" } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } diff --git a/dist/openapi-flattened/confirmation-funds-openapi-flattened.json b/dist/openapi-flattened/confirmation-funds-openapi-flattened.json index 05d62263..ce2b5255 100644 --- a/dist/openapi-flattened/confirmation-funds-openapi-flattened.json +++ b/dist/openapi-flattened/confirmation-funds-openapi-flattened.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Confirmation of Funds API Specification", - "description": "OpenAPI for Confirmation of Funds API Specification", + "description": "Swagger for Confirmation of Funds API Specification", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,8 +12,13 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1/cbpii" + } + ], "paths": { "/funds-confirmation-consents": { "post": { @@ -24,52 +29,116 @@ "operationId": "CreateFundsConfirmationConsents", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], + "requestBody": { + "description": "Default", + "content": { + "*/*": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "DebtorAccount" + ], + "type": "object", + "properties": { + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the funds confirmation authorisation will expire.\n If this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied." + } + } + } + } + } + } + }, + "required": true + }, "responses": { "201": { "description": "Funds Confirmation Consent Created", @@ -82,37 +151,37 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", "required": [ "ConsentId", "CreationDateTime", + "DebtorAccount", "Status", - "StatusUpdateDateTime", - "DebtorAccount" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "Unique identification as assigned to identify the funds confirmation consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Unique identification as assigned to identify the funds confirmation consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", @@ -121,26 +190,25 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpirationDateTime": { - "description": "Specified date and time the funds confirmation authorisation will expire.\nIf this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified date and time the funds confirmation authorisation will expire.\nIf this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "DebtorAccount": { - "type": "object", "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -150,30 +218,33 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -196,35 +267,30 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false + } } } } @@ -240,36 +306,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -301,39 +377,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -347,7 +410,8 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", @@ -360,36 +424,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -421,39 +495,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -467,7 +528,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -478,7 +540,8 @@ "type": "string" } } - } + }, + "content": {} }, "415": { "description": "Unsupported Media Type", @@ -489,24 +552,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -519,36 +584,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -580,39 +655,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -625,75 +687,7 @@ ] } ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "required": [ - "DebtorAccount" - ], - "properties": { - "ExpirationDateTime": { - "description": "Specified date and time the funds confirmation authorisation will expire.\n If this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "DebtorAccount": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - } - } - }, - "additionalProperties": false - } - } - }, - "required": true - } + "x-codegen-request-body-name": "OBFundsConfirmationConsent1Param" } }, "/funds-confirmation-consents/{ConsentId}": { @@ -714,47 +708,43 @@ } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -772,37 +762,37 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", "required": [ "ConsentId", "CreationDateTime", + "DebtorAccount", "Status", - "StatusUpdateDateTime", - "DebtorAccount" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "Unique identification as assigned to identify the funds confirmation consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Unique identification as assigned to identify the funds confirmation consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", @@ -811,26 +801,25 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpirationDateTime": { - "description": "Specified date and time the funds confirmation authorisation will expire.\nIf this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified date and time the funds confirmation authorisation will expire.\nIf this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "DebtorAccount": { - "type": "object", "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -840,30 +829,33 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -886,35 +878,30 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false + } } } } @@ -930,36 +917,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -991,39 +988,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1037,7 +1021,8 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", @@ -1050,36 +1035,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1111,39 +1106,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1157,7 +1139,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -1168,24 +1151,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -1198,36 +1183,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1259,39 +1254,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1322,47 +1304,43 @@ } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -1378,7 +1356,8 @@ "type": "string" } } - } + }, + "content": {} }, "400": { "description": "Bad request", @@ -1391,36 +1370,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1452,39 +1441,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1498,7 +1474,8 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", @@ -1511,36 +1488,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1572,39 +1559,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1618,7 +1592,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -1629,24 +1604,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -1659,36 +1636,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1720,39 +1707,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1776,52 +1750,106 @@ "operationId": "CreateFundsConfirmations", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], + "requestBody": { + "description": "Default", + "content": { + "*/*": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "InstructedAmount", + "Reference" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent resource." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be confirmed as available funds in the debtor account. Contains an Amount and a Currency." + } + } + } + } + } + } + }, + "required": true + }, "responses": { "201": { "description": "Funds Confirmation Created", @@ -1834,76 +1862,78 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", "required": [ - "FundsConfirmationId", "ConsentId", "CreationDateTime", "FundsAvailable", - "Reference", - "InstructedAmount" + "FundsConfirmationId", + "InstructedAmount", + "Reference" ], + "type": "object", "properties": { "FundsConfirmationId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation resource.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation resource." }, "ConsentId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "FundsAvailable": { - "description": "Flag to indicate the result of a confirmation of funds check.", - "type": "boolean" + "type": "boolean", + "description": "Flag to indicate the result of a confirmation of funds check." }, "Reference": { - "description": "Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction." }, "InstructedAmount": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money to be confirmed as available funds in the debtor account. Contains an Amount and a Currency.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be confirmed as available funds in the debtor account. Contains an Amount and a Currency." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -1926,35 +1956,30 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } - }, - "additionalProperties": false + } } } } @@ -1970,36 +1995,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2031,39 +2066,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -2077,7 +2099,8 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", @@ -2090,36 +2113,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2151,39 +2184,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -2197,7 +2217,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -2208,7 +2229,8 @@ "type": "string" } } - } + }, + "content": {} }, "415": { "description": "Unsupported Media Type", @@ -2219,24 +2241,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -2249,36 +2273,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2310,39 +2344,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -2355,65 +2376,7 @@ ] } ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "required": [ - "ConsentId", - "Reference", - "InstructedAmount" - ], - "properties": { - "ConsentId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "Reference": { - "description": "Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "InstructedAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be confirmed as available funds in the debtor account. Contains an Amount and a Currency.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "additionalProperties": false - } - } - }, - "required": true - } + "x-codegen-request-body-name": "OBFundsConfirmation1Param" } } }, diff --git a/dist/openapi-flattened/event-notifications-openapi-flattened.json b/dist/openapi-flattened/event-notifications-openapi-flattened.json index 7a7344d5..7b0d58b9 100644 --- a/dist/openapi-flattened/event-notifications-openapi-flattened.json +++ b/dist/openapi-flattened/event-notifications-openapi-flattened.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Event Notification API Specification - TPP Endpoints", - "description": "OpenAPI for Event Notification API Specification - TPP Endpoints", + "description": "Swagger for Event Notification API Specification - TPP Endpoints", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,45 +12,44 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1" + } + ], "paths": { "/event-notifications": { "post": { - "summary": "Send an event notification", - "operationId": "CreateEventNotification", "tags": [ "Event Notification" ], + "summary": "Send an event notification", + "operationId": "CreateEventNotification", "parameters": [ { - "in": "header", "name": "x-fapi-financial-id", - "required": true, + "in": "header", "description": "The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } ], - "responses": { - "202": { - "description": "Accepted" - } - }, "requestBody": { "description": "Create an Callback URI", "content": { - "application/json": { + "application/jwt": { "schema": { "type": "string", "format": "base64" @@ -58,7 +57,14 @@ } }, "required": true - } + }, + "responses": { + "202": { + "description": "Accepted", + "content": {} + } + }, + "x-codegen-request-body-name": "OBEventNotification1Param" } } }, diff --git a/dist/openapi-flattened/event-subscriptions-openapi-flattened.json b/dist/openapi-flattened/event-subscriptions-openapi-flattened.json index 25e029a7..698d52d7 100644 --- a/dist/openapi-flattened/event-subscriptions-openapi-flattened.json +++ b/dist/openapi-flattened/event-subscriptions-openapi-flattened.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Event Subscription API Specification - ASPSP Endpoints", - "description": "OpenAPI for Event Subscription API Specification - ASPSP Endpoints", + "description": "Swagger for Event Subscription API Specification - ASPSP Endpoints", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,135 +12,237 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1" + } + ], "paths": { "/event-subscriptions": { - "post": { + "get": { "tags": [ "Event Subscriptions" ], - "summary": "Create Event Subscription", - "operationId": "CreateEventSubscriptions", + "summary": "Get Event Subscription", + "operationId": "GetEventSubscriptions", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { "in": "header", - "name": "x-jws-signature", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", "required": true, - "description": "A detached JWS signature of the body of the payload.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], "responses": { - "201": { - "description": "Event Subscription Created", + "200": { + "description": "Event Subscription Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", + "properties": { + "EventSubscription": { + "type": "array", + "items": { + "required": [ + "EventSubscriptionId", + "Version" + ], + "type": "object", + "properties": { + "EventSubscriptionId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource." + }, + "CallbackUrl": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "format": "uri" + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + }, + "EventTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Array of event types the subscription applies to." + } + } + } + } + } + } + }, + "Links": { "required": [ - "EventSubscriptionId", - "Version" + "Self" ], + "type": "object", "properties": { - "EventSubscriptionId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback URL resource.", + "Self": { "type": "string", - "minLength": 1, - "maxLength": 40 + "format": "uri" }, - "CallbackUrl": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "First": { "type": "string", "format": "uri" }, - "Version": { - "description": "Version for the event notification.", + "Prev": { "type": "string", - "minLength": 1, - "maxLength": 10 + "format": "uri" }, - "EventTypes": { + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "EventSubscription": { "type": "array", "items": { - "description": "Array of event types the subscription applies to.", - "type": "string" + "required": [ + "EventSubscriptionId", + "Version" + ], + "type": "object", + "properties": { + "EventSubscriptionId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource." + }, + "CallbackUrl": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "format": "uri" + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + }, + "EventTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Array of event types the subscription applies to." + } + } + } } } - }, - "additionalProperties": false + } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -163,32 +265,28 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" } } } @@ -206,36 +304,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -267,95 +375,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -387,45 +468,32 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } + } + } + } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "404": { - "description": "Not found", + "401": { + "description": "Unauthorized", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -433,10 +501,11 @@ "type": "string" } } - } + }, + "content": {} }, - "405": { - "description": "Method Not Allowed", + "403": { + "description": "Forbidden", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -444,10 +513,198 @@ "type": "string" } } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } } }, - "406": { - "description": "Not Acceptable", + "404": { + "description": "Not found", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -455,10 +712,11 @@ "type": "string" } } - } + }, + "content": {} }, - "409": { - "description": "Conflict", + "405": { + "description": "Method Not Allowed", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -466,10 +724,11 @@ "type": "string" } } - } + }, + "content": {} }, - "415": { - "description": "Unsupported Media Type", + "406": { + "description": "Not Acceptable", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -477,24 +736,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -507,36 +768,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -568,277 +839,690 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" + "Errors", + "Message" ], - "additionalProperties": false - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "accounts", - "payments", - "fundsconfirmations" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "required": [ - "Version" - ], - "properties": { - "CallbackUrl": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string", - "format": "uri" - }, - "Version": { - "description": "Version for the event notification.", - "type": "string", - "minLength": 1, - "maxLength": 10 - }, - "EventTypes": { - "type": "array", - "items": { - "description": "Array of event types the subscription applies to.", - "type": "string" + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } } } } - } - }, - "additionalProperties": false + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } } } - }, - "required": true - } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "accounts", + "payments", + "fundsconfirmations" + ] + } + ] }, - "get": { + "post": { "tags": [ "Event Subscriptions" ], - "summary": "Get Event Subscription", - "operationId": "GetEventSubscriptions", + "summary": "Create Event Subscription", + "operationId": "CreateEventSubscriptions", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { + "name": "x-jws-signature", "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + }, + { "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Version" + ], + "type": "object", + "properties": { + "CallbackUrl": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "format": "uri" + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + }, + "EventTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Array of event types the subscription applies to." + } + } + } + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Version" + ], + "type": "object", + "properties": { + "CallbackUrl": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "format": "uri" + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + }, + "EventTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Array of event types the subscription applies to." + } + } + } + } + } + } + } + }, + "required": true + }, "responses": { - "200": { - "description": "Event Subscription Read", + "201": { + "description": "Event Subscription Created", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { + "required": [ + "EventSubscriptionId", + "Version" + ], "type": "object", "properties": { - "EventSubscription": { + "EventSubscriptionId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback URL resource." + }, + "CallbackUrl": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "format": "uri" + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + }, + "EventTypes": { "type": "array", "items": { - "type": "object", - "required": [ - "EventSubscriptionId", - "Version" - ], - "properties": { - "EventSubscriptionId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "CallbackUrl": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string", - "format": "uri" - }, - "Version": { - "description": "Version for the event notification.", - "type": "string", - "minLength": 1, - "maxLength": 10 - }, - "EventTypes": { - "type": "array", - "items": { - "description": "Array of event types the subscription applies to.", - "type": "string" - } - } - } + "type": "string", + "description": "Array of event types the subscription applies to." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "EventSubscriptionId", + "Version" + ], + "type": "object", + "properties": { + "EventSubscriptionId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback URL resource." + }, + "CallbackUrl": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "format": "uri" + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + }, + "EventTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Array of event types the subscription applies to." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } } - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false } }, - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "400": { - "description": "Bad request", + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -848,36 +1532,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -909,45 +1603,125 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "401": { - "description": "Unauthorized", + "404": { + "description": "Not found", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -955,10 +1729,77 @@ "type": "string" } } - } + }, + "content": {} }, - "403": { - "description": "Forbidden", + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "409": { + "description": "Conflict", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "415": { + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -968,36 +1809,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1029,134 +1880,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1188,39 +1973,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1234,7 +2006,8 @@ "fundsconfirmations" ] } - ] + ], + "x-codegen-request-body-name": "OBEventSubscription1Param" } }, "/event-subscriptions/{EventSubscriptionId}": { @@ -1255,123 +2028,312 @@ } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-jws-signature", - "required": true, + "in": "header", "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", "schema": { "type": "string" } + } + ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "EventSubscriptionId", + "Version" + ], + "type": "object", + "properties": { + "EventSubscriptionId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback URL resource." + }, + "CallbackUrl": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "format": "uri" + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + }, + "EventTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Array of event types the subscription applies to." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "EventSubscriptionId", + "Version" + ], + "type": "object", + "properties": { + "EventSubscriptionId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback URL resource." + }, + "CallbackUrl": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "format": "uri" + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + }, + "EventTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Array of event types the subscription applies to." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], + "required": true + }, "responses": { "200": { "description": "Event Subscription Changed", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", "required": [ "EventSubscriptionId", "Version" ], + "type": "object", "properties": { "EventSubscriptionId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback URL resource.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback URL resource." }, "CallbackUrl": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", "format": "uri" }, "Version": { - "description": "Version for the event notification.", - "type": "string", + "maxLength": 10, "minLength": 1, - "maxLength": 10 + "type": "string", + "description": "Version for the event notification." }, "EventTypes": { "type": "array", "items": { - "description": "Array of event types the subscription applies to.", - "type": "string" + "type": "string", + "description": "Array of event types the subscription applies to." } } - }, - "additionalProperties": false + } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -1394,79 +2356,271 @@ "format": "uri" } }, - "additionalProperties": false, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "EventSubscriptionId", + "Version" + ], + "type": "object", + "properties": { + "EventSubscriptionId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback URL resource." + }, + "CallbackUrl": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "format": "uri" + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + }, + "EventTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Array of event types the subscription applies to." + } + } + } + }, + "Links": { "required": [ "Self" - ] + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - }, - "additionalProperties": false + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } - } - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - }, - "content": { - "application/json": { + }, + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1498,39 +2652,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1544,7 +2685,8 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", @@ -1557,36 +2699,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1618,39 +2770,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1664,7 +2896,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -1675,7 +2908,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -1686,7 +2920,8 @@ "type": "string" } } - } + }, + "content": {} }, "415": { "description": "Unsupported Media Type", @@ -1697,66 +2932,171 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Number in seconds to wait", "schema": { "type": "integer" } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -1788,39 +3128,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -1835,108 +3162,7 @@ ] } ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "required": [ - "EventSubscriptionId", - "Version" - ], - "properties": { - "EventSubscriptionId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback URL resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "CallbackUrl": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string", - "format": "uri" - }, - "Version": { - "description": "Version for the event notification.", - "type": "string", - "minLength": 1, - "maxLength": 10 - }, - "EventTypes": { - "type": "array", - "items": { - "description": "Array of event types the subscription applies to.", - "type": "string" - } - } - }, - "additionalProperties": false - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": false - } - } - } - } - }, - "required": true - } + "x-codegen-request-body-name": "OBEventSubscriptionResponse1Param" }, "delete": { "tags": [ @@ -1955,47 +3181,43 @@ } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -2011,7 +3233,8 @@ "type": "string" } } - } + }, + "content": {} }, "400": { "description": "Bad request", @@ -2024,36 +3247,139 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2085,39 +3411,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -2131,7 +3444,8 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", @@ -2144,36 +3458,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2205,39 +3529,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -2251,7 +3655,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -2262,7 +3667,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -2273,24 +3679,26 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", @@ -2303,36 +3711,46 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2364,39 +3782,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } diff --git a/dist/openapi-flattened/events-openapi-flattened.json b/dist/openapi-flattened/events-openapi-flattened.json index d2ae5dc9..91e5ffdb 100644 --- a/dist/openapi-flattened/events-openapi-flattened.json +++ b/dist/openapi-flattened/events-openapi-flattened.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "paths": { "/event-subscriptions": { diff --git a/dist/openapi-flattened/payment-initiation-openapi-flattened.json b/dist/openapi-flattened/payment-initiation-openapi-flattened.json index 2c65606d..1f781cb0 100644 --- a/dist/openapi-flattened/payment-initiation-openapi-flattened.json +++ b/dist/openapi-flattened/payment-initiation-openapi-flattened.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Payment Initiation API", - "description": "OpenAPI for Payment Initiation API Specification", + "description": "Swagger for Payment Initiation API Specification", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,8 +12,13 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1/pisp" + } + ], "paths": { "/domestic-payment-consents": { "post": { @@ -24,38 +29,35 @@ "operationId": "CreateDomesticPaymentConsents", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } @@ -66,1102 +68,486 @@ "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", "required": true, "schema": { - "type": "string", + "maxLength": 40, "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 + "type": "string" } }, { - "in": "header", "name": "x-jws-signature", - "required": true, + "in": "header", "description": "A detached JWS signature of the body of the payload.", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], - "responses": { - "201": { - "description": "Domestic Payment Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of consent resource in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingAuthorisation", - "Consumed", - "Rejected" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Charges": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation" + ], + "type": "object", + "properties": { + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructedAmount": { "required": [ - "ChargeBearer", - "Type", - "Amount" + "Amount", + "Currency" ], + "type": "object", "properties": { - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "Type": { - "description": "Charge type, in a coded form.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ - "UK.OBIE.CHAPSOut" + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] }, - "Amount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the charge type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } }, - "CreditorPostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." } } }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] - }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", - "minLength": 1, - "maxLength": 128 - } - } - }, - "Debtor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", - "minLength": 0, - "maxLength": 140 - } - } - } - } - }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", - "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - } + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" } - } - } - }, - "Links": { - "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" }, - "Last": { - "type": "string", - "format": "uri" - } + "description": "The authorisation type request from the TPP." }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { + "SCASupportData": { "type": "object", - "additionalProperties": false, "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "RequestedSCAExemptionType": { "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" ] }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", + "AppliedAuthenticationApproach": { "type": "string", - "minLength": 1, - "maxLength": 500 + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "ReferencePaymentOrderId": { + "maxLength": 128, "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], "type": "object", - "additionalProperties": false, "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] + "description": "Name of a street or thoroughfare." }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } } } }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "Initiation" ], + "type": "object", "properties": { "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", "type": "string", + "description": "Specifies to share the refund account details with PISP", "enum": [ "No", "Yes" ] }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", + "CreditorAccount", "EndToEndIdentification", "InstructedAmount", - "CreditorAccount" + "InstructionIdentification" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.", + "type": "object", "properties": { "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -1178,38 +564,35 @@ ] }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -1219,38 +602,37 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -1260,33 +642,32 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." }, "CreditorPostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -1299,123 +680,119 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -1427,31 +804,30 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." } } }, "Risk": { "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", "properties": { "PaymentContextCode": { - "description": "Specifies the payment context", "type": "string", + "description": "Specifies the payment context", "enum": [ "BillPayment", "EcommerceGoods", @@ -1461,200 +837,132 @@ ] }, "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", + "maxLength": 4, "minLength": 3, - "maxLength": 4 + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." }, "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." }, "DeliveryAddress": { - "type": "object", - "additionalProperties": false, "required": [ - "TownName", - "Country" + "Country", + "TownName" ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", + "type": "object", "properties": { "AddressLine": { + "maxItems": 2, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government, occupying a particular territory." } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } - } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." } } } } }, "required": true - } - } - }, - "/domestic-payment-consents/{ConsentId}": { - "get": { - "tags": [ - "Domestic Payments" - ], - "summary": "Get Domestic Payment Consents", - "operationId": "GetDomesticPaymentConsentsConsentId", - "parameters": [ - { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], + }, "responses": { - "200": { - "description": "Domestic Payment Consents Read", + "201": { + "description": "Domestic Payment Consents Created", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", + "Initiation", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", @@ -1663,48 +971,46 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", "type": "string", + "description": "Specifies to share the refund account details with PISP", "enum": [ "No", "Yes" ] }, "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -1713,62 +1019,60 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", + "CreditorAccount", "EndToEndIdentification", "InstructedAmount", - "CreditorAccount" + "InstructionIdentification" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.", + "type": "object", "properties": { "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -1785,38 +1089,35 @@ ] }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -1826,38 +1127,37 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -1867,33 +1167,32 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." }, "CreditorPostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -1906,123 +1205,119 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -2034,44 +1329,42 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Risk": { "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", "properties": { "PaymentContextCode": { - "description": "Specifies the payment context", "type": "string", + "description": "Specifies the payment context", "enum": [ "BillPayment", "EcommerceGoods", @@ -2081,80 +1374,81 @@ ] }, "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", + "maxLength": 4, "minLength": 3, - "maxLength": 4 + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." }, "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." }, "DeliveryAddress": { - "type": "object", - "additionalProperties": false, "required": [ - "TownName", - "Country" + "Country", + "TownName" ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", + "type": "object", "properties": { "AddressLine": { + "maxItems": 2, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government, occupying a particular territory." } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } - } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -2177,212 +1471,657 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Data", + "Risk" + ], "type": "object", - "additionalProperties": false, "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } }, - "type": "array", - "minItems": 1 + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" } - }, - "required": [ - "Code", - "Message", - "Errors" - ] + } } } } }, - "401": { - "description": "Unauthorized", + "400": { + "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { + }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2414,129 +2153,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + }, + "application/jose+jwe": { "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2568,279 +2246,99 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/domestic-payment-consents/{ConsentId}/funds-confirmation": { - "get": { - "tags": [ - "Domestic Payments" - ], - "summary": "Get Domestic Payment Consents Funds Confirmation", - "operationId": "GetDomesticPaymentConsentsConsentIdFundsConfirmation", - "parameters": [ - { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Domestic Payment Consents Read", + "401": { + "description": "Unauthorized", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } } }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "properties": { - "FundsAvailableResult": { - "type": "object", - "additionalProperties": false, - "required": [ - "FundsAvailableDateTime", - "FundsAvailable" - ], - "description": "Result of a funds availability check.", - "properties": { - "FundsAvailableDateTime": { - "description": "Date and time at which the funds availability check was generated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FundsAvailable": { - "description": "Flag to indicate the availability of funds given the Amount in the consent request.", - "type": "boolean" - } - } - }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - }, - "Links": { - "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - } - } - } - } - } + "content": {} }, - "400": { - "description": "Bad request", + "403": { + "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2872,101 +2370,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -2998,37 +2463,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -3042,7 +2496,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -3053,27 +2508,23 @@ "type": "string" } } - } + }, + "content": {} }, - "429": { - "description": "Too Many Requests", + "415": { + "description": "Unsupported Media Type", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } - } + }, + "content": {} }, - "500": { - "description": "Internal Server Error", + "429": { + "description": "Too Many Requests", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -3081,46 +2532,72 @@ "type": "string" } }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -3152,37 +2629,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -3190,236 +2749,172 @@ }, "security": [ { - "PSUOAuth2Security": [ + "TPPOAuth2Security": [ "payments" ] } - ] + ], + "x-codegen-request-body-name": "OBWriteDomesticConsent4Param" } }, - "/domestic-payments": { - "post": { + "/domestic-payment-consents/{ConsentId}": { + "get": { "tags": [ "Domestic Payments" ], - "summary": "Create Domestic Payments", - "operationId": "CreateDomesticPayments", + "summary": "Get Domestic Payment Consents", + "operationId": "GetDomesticPaymentConsentsConsentId", "parameters": [ { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "type": "string" } }, { + "name": "x-fapi-auth-date", "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", "type": "string" } }, { + "name": "x-fapi-customer-ip-address", "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { + "name": "x-fapi-interaction-id", "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } - }, - { + "name": "Authorization", "in": "header", - "name": "x-jws-signature", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", "required": true, - "description": "A detached JWS signature of the body of the payload.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], "responses": { - "201": { - "description": "Domestic Payments Created", + "200": { + "description": "Domestic Payment Consents Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ - "Data" + "Data", + "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "DomesticPaymentId", "ConsentId", "CreationDateTime", + "Initiation", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "DomesticPaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic payment resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of the payment information group.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ - "AcceptedCreditSettlementCompleted", - "AcceptedSettlementCompleted", - "AcceptedSettlementInProcess", - "AcceptedWithoutPosting", - "Pending", + "Authorised", + "AwaitingAuthorisation", + "Consumed", "Rejected" ] }, "StatusUpdateDateTime": { + "type": "string", "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "Refund": { - "type": "object", - "additionalProperties": false, - "required": [ - "Account" - ], - "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.", - "properties": { - "Account": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify an account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - } - }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -3428,62 +2923,60 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", + "CreditorAccount", "EndToEndIdentification", "InstructedAmount", - "CreditorAccount" + "InstructionIdentification" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.", + "type": "object", "properties": { "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -3500,38 +2993,35 @@ ] }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -3541,38 +3031,37 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -3582,33 +3071,32 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." }, "CreditorPostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -3621,148 +3109,250 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." }, - "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, + "Authorisation": { "required": [ - "Status" + "AuthorisationType" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { - "Status": { - "description": "Specifies the status of the authorisation flow in code form.", + "AuthorisationType": { "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ - "Authorised", - "AwaitingFurtherAuthorisation", - "Rejected" + "Any", + "Single" ] }, - "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" - }, - "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" - }, - "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "CompletionDateTime": { "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] }, - "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "AppliedAuthenticationApproach": { "type": "string", - "format": "date-time" + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -3785,212 +3375,657 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Data", + "Risk" + ], "type": "object", - "additionalProperties": false, "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 + "Initiation": { + "required": [ + "CreditorAccount", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } }, - "type": "array", - "minItems": 1 + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" } - }, - "required": [ - "Code", - "Message", - "Errors" - ] + } } } } }, - "401": { - "description": "Unauthorized", + "400": { + "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { + }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -4022,140 +4057,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -4187,488 +4150,273 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "payments" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "Initiation": { - "type": "object", - "additionalProperties": false, + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "InstructedAmount", - "CreditorAccount" + "ErrorCode", + "Message" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "ErrorCode": { "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" ] }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "CreditorPostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } } } }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ - "TownName", - "Country" + "ErrorCode", + "Message" ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", + "type": "object", "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", + "ErrorCode": { "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "Message": { + "maxLength": 500, "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", "type": "string", - "minLength": 1, - "maxLength": 16 + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "Path": { + "maxLength": 500, "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "Url": { "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } } } - } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "required": true - } - } - }, - "/domestic-payments/{DomesticPaymentId}": { - "get": { - "tags": [ - "Domestic Payments" - ], - "summary": "Get Domestic Payments", - "operationId": "GetDomesticPaymentsDomesticPaymentId", - "parameters": [ - { - "name": "DomesticPaymentId", - "in": "path", - "description": "DomesticPaymentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Domestic Payments Read", + "429": { + "description": "Too Many Requests", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -4676,589 +4424,72 @@ "type": "string" } }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ - "Data" + "Code", + "Errors", + "Message" ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "DomesticPaymentId", - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Initiation" - ], - "properties": { - "DomesticPaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic payment resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of the payment information group.", - "type": "string", - "enum": [ - "AcceptedCreditSettlementCompleted", - "AcceptedSettlementCompleted", - "AcceptedSettlementInProcess", - "AcceptedWithoutPosting", - "Pending", - "Rejected" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Refund": { - "type": "object", - "additionalProperties": false, - "required": [ - "Account" - ], - "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.", - "properties": { - "Account": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify an account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - } - }, - "Charges": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", - "required": [ - "ChargeBearer", - "Type", - "Amount" - ], - "properties": { - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] - }, - "Type": { - "description": "Charge type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.CHAPSOut" - ] - }, - "Amount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the charge type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "CreditorPostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - }, - "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Status" - ], - "description": "The multiple authorisation flow response from the ASPSP.", - "properties": { - "Status": { - "description": "Specifies the status of the authorisation flow in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingFurtherAuthorisation", - "Rejected" - ] - }, - "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" - }, - "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" - }, - "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "Debtor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", - "minLength": 0, - "maxLength": 140 - } - } - } - } - }, - "Links": { - "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -5290,101 +4521,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -5416,191 +4614,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -5615,65 +4648,61 @@ ] } }, - "/domestic-payments/{DomesticPaymentId}/payment-details": { + "/domestic-payment-consents/{ConsentId}/funds-confirmation": { "get": { "tags": [ - "Payment Details" + "Domestic Payments" ], - "summary": "Get Payment Details", - "operationId": "GetDomesticPaymentsDomesticPaymentIdPaymentDetails", + "summary": "Get Domestic Payment Consents Funds Confirmation", + "operationId": "GetDomesticPaymentConsentsConsentIdFundsConfirmation", "parameters": [ { - "name": "DomesticPaymentId", + "name": "ConsentId", "in": "path", - "description": "DomesticPaymentId", + "description": "ConsentId", "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -5681,145 +4710,62 @@ ], "responses": { "200": { - "description": "Payment Details Read", + "description": "Domestic Payment Consents Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", - "additionalProperties": false, "properties": { - "PaymentStatus": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Payment status details.", - "required": [ - "PaymentTransactionId", - "Status", - "StatusUpdateDateTime" - ], - "properties": { - "PaymentTransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "Status": { - "description": "Status of a transfe, as assigned by the transaction administrator.", - "type": "string", - "enum": [ - "Accepted", - "AcceptedCancellationRequest", - "AcceptedCreditSettlementCompleted", - "AcceptedCustomerProfile", - "AcceptedFundsChecked", - "AcceptedSettlementCompleted", - "AcceptedSettlementInProcess", - "AcceptedTechnicalValidation", - "AcceptedWithChange", - "AcceptedWithoutPosting", - "Cancelled", - "NoCancellationProcess", - "PartiallyAcceptedCancellationRequest", - "PartiallyAcceptedTechnicalCorrect", - "PaymentCancelled", - "Pending", - "PendingCancellationRequest", - "Received", - "Rejected", - "RejectedCancellationRequest" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "StatusDetail": { - "type": "object", - "additionalProperties": false, - "required": [ - "Status" - ], - "description": "Payment status details as per underlying Payment Rail.", - "properties": { - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "Status": { - "description": "Status of a transfer, as assigned by the transaction administrator.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "StatusReason": { - "description": "Reason Code provided for the status of a transfer.", - "type": "string", - "enum": [ - "Cancelled", - "PendingFailingSettlement", - "PendingSettlement", - "Proprietary", - "ProprietaryRejection", - "Suspended", - "Unmatched" - ] - }, - "StatusReasonDescription": { - "description": "Reason provided for the status of a transfer.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - } + "FundsAvailableResult": { + "required": [ + "FundsAvailable", + "FundsAvailableDateTime" + ], + "type": "object", + "properties": { + "FundsAvailableDateTime": { + "type": "string", + "description": "Date and time at which the funds availability check was generated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FundsAvailable": { + "type": "boolean", + "description": "Flag to indicate the availability of funds given the Amount in the consent request." } - } + }, + "description": "Result of a funds availability check." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -5842,31 +4788,116 @@ "format": "uri" } }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "FundsAvailableResult": { + "required": [ + "FundsAvailable", + "FundsAvailableDateTime" + ], + "type": "object", + "properties": { + "FundsAvailableDateTime": { + "type": "string", + "description": "Date and time at which the funds availability check was generated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FundsAvailable": { + "type": "boolean", + "description": "Flag to indicate the availability of funds given the Amount in the consent request." + } + }, + "description": "Result of a funds availability check." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + } + }, + "Links": { "required": [ "Self" - ] + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -5876,52 +4907,60 @@ "400": { "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -5953,101 +4992,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "application/jose+jwe": { "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -6079,43 +5085,32 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "404": { - "description": "Not found", + "401": { + "description": "Unauthorized", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -6123,49 +5118,240 @@ "type": "string" } } - } + }, + "content": {} }, - "405": { - "description": "Method Not Allowed", + "403": { + "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { + }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", + }, + "content": { + "application/json; charset=utf-8": { "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } - } + }, + "content": {} }, - "500": { - "description": "Internal Server Error", + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -6173,46 +5359,72 @@ "type": "string" } }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -6244,37 +5456,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -6282,54 +5576,51 @@ }, "security": [ { - "TPPOAuth2Security": [ + "PSUOAuth2Security": [ "payments" ] } ] } }, - "/domestic-scheduled-payment-consents": { + "/domestic-payments": { "post": { "tags": [ - "Domestic Scheduled Payments" + "Domestic Payments" ], - "summary": "Create Domestic Scheduled Payment Consents", - "operationId": "CreateDomesticScheduledPaymentConsents", + "summary": "Create Domestic Payments", + "operationId": "CreateDomesticPayments", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } @@ -6340,941 +5631,748 @@ "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", "required": true, "schema": { - "type": "string", + "maxLength": 40, "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 + "type": "string" } }, { - "in": "header", "name": "x-jws-signature", - "required": true, + "in": "header", "description": "A detached JWS signature of the body of the payload.", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], - "responses": { - "201": { - "description": "Domestic Scheduled Payment Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Permission", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of consent resource in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingAuthorisation", - "Consumed", - "Rejected" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Charges": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructedAmount": { "required": [ - "ChargeBearer", - "Type", - "Amount" + "Amount", + "Currency" ], + "type": "object", "properties": { - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "Type": { - "description": "Charge type, in a coded form.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ - "UK.OBIE.CHAPSOut" + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] }, - "Amount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the charge type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } }, - "CreditorPostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." } } }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] - }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, "minLength": 1, - "maxLength": 128 - } - } - }, - "Debtor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", - "minLength": 0, - "maxLength": 140 + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", - "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - } + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } - } - }, - "Links": { - "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." } } - } - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], "type": "object", - "additionalProperties": false, "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "StreetName": { + "maxLength": 70, "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", "type": "string", - "minLength": 1, - "maxLength": 500 + "description": "Name of a street or thoroughfare." }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] + "description": "Number that identifies the position of a building on a street." }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "PostCode": { + "maxLength": 16, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } } } } }, - "415": { - "description": "Unsupported Media Type", + "required": true + }, + "responses": { + "201": { + "description": "Domestic Payments Created", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -7282,748 +6380,638 @@ "type": "string" } } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Data" + ], "type": "object", - "additionalProperties": false, "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "DomesticPaymentId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "DomesticPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic payment resource." }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "Permission", - "Initiation" - ], - "properties": { - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment information group.", + "enum": [ + "AcceptedCreditSettlementCompleted", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedWithoutPosting", + "Pending", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } + "description": "Provides the details to identify an account." } }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." + }, + "Charges": { + "type": "array", + "items": { "required": [ - "SchemeName", - "Identification" + "Amount", + "ChargeBearer", + "Type" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", + "ChargeBearer": { "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" ] }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", + "Type": { "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" + "UK.OBIE.CHAPSOut" ] }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." } - } - }, - "CreditorPostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "minItems": 0, - "maxItems": 7 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", - "minLength": 1, - "maxLength": 128 - } - } - } - } - }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", - "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - } + "description": "Set of elements used to identify a person or an organisation." } } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "required": true - } - } - }, - "/domestic-scheduled-payment-consents/{ConsentId}": { - "get": { - "tags": [ - "Domestic Scheduled Payments" - ], - "summary": "Get Domestic Scheduled Payment Consents", - "operationId": "GetDomesticScheduledPaymentConsentsConsentId", - "parameters": [ - { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Domestic Scheduled Payment Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ - "Data", - "Risk" + "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", + "DomesticPaymentId", + "Initiation", "Status", - "StatusUpdateDateTime", - "Permission", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", + "DomesticPaymentId": { + "maxLength": 40, + "minLength": 1, "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic payment resource." + }, + "ConsentId": { + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of the payment information group.", "enum": [ - "Authorised", - "AwaitingAuthorisation", - "Consumed", + "AcceptedCreditSettlementCompleted", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedWithoutPosting", + "Pending", "Rejected" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + }, + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." + }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -8032,62 +7020,60 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", + "CreditorAccount", + "EndToEndIdentification", "InstructedAmount", - "CreditorAccount" + "InstructionIdentification" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment.", + "type": "object", "properties": { "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -8103,44 +7089,36 @@ "UK.OBIE.Target2" ] }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -8150,38 +7128,37 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -8191,33 +7168,32 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." }, "CreditorPostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -8230,255 +7206,146 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." }, - "Authorisation": { - "type": "object", - "additionalProperties": false, + "MultiAuthorisation": { "required": [ - "AuthorisationType" + "Status" ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "Status": { "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" ] }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { "type": "string", - "enum": [ - "CA", - "SCA" - ] + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", + "ExpirationDateTime": { "type": "string", - "minLength": 1, - "maxLength": 128 + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 - } - } - } - } - }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", - "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -8501,31 +7368,28 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -8535,52 +7399,60 @@ "400": { "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -8612,37 +7484,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -8656,57 +7610,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -8738,43 +7701,125 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "404": { - "description": "Not found", + "405": { + "description": "Method Not Allowed", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -8782,10 +7827,11 @@ "type": "string" } } - } + }, + "content": {} }, - "405": { - "description": "Method Not Allowed", + "406": { + "description": "Not Acceptable", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -8793,10 +7839,11 @@ "type": "string" } } - } + }, + "content": {} }, - "406": { - "description": "Not Acceptable", + "415": { + "description": "Unsupported Media Type", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -8804,74 +7851,84 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -8903,37 +7960,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -8941,189 +8080,171 @@ }, "security": [ { - "TPPOAuth2Security": [ + "PSUOAuth2Security": [ "payments" ] } - ] + ], + "x-codegen-request-body-name": "OBWriteDomestic2Param" } }, - "/domestic-scheduled-payments": { - "post": { + "/domestic-payments/{DomesticPaymentId}": { + "get": { "tags": [ - "Domestic Scheduled Payments" + "Domestic Payments" ], - "summary": "Create Domestic Scheduled Payments", - "operationId": "CreateDomesticScheduledPayments", + "summary": "Get Domestic Payments", + "operationId": "GetDomesticPaymentsDomesticPaymentId", "parameters": [ { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "name": "DomesticPaymentId", + "in": "path", + "description": "DomesticPaymentId", + "required": true, "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "type": "string" } }, { + "name": "x-fapi-auth-date", "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", "type": "string" } }, { + "name": "x-fapi-customer-ip-address", "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { + "name": "x-fapi-interaction-id", "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } - }, - { + "name": "Authorization", "in": "header", - "name": "x-jws-signature", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", "required": true, - "description": "A detached JWS signature of the body of the payload.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], "responses": { - "201": { - "description": "Domestic Scheduled Payments Created", + "200": { + "description": "Domestic Payments Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "DomesticScheduledPaymentId", "ConsentId", "CreationDateTime", + "DomesticPaymentId", + "Initiation", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "DomesticScheduledPaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic schedule payment resource.", - "type": "string", + "DomesticPaymentId": { + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic payment resource." }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of the payment order resource.", "type": "string", + "description": "Specifies the status of the payment information group.", "enum": [ - "Cancelled", - "InitiationCompleted", - "InitiationFailed", - "InitiationPending" + "AcceptedCreditSettlementCompleted", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedWithoutPosting", + "Pending", + "Rejected" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Refund": { - "type": "object", - "additionalProperties": false, "required": [ "Account" ], - "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.", + "type": "object", "properties": { "Account": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Provides the details to identify an account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -9133,42 +8254,42 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify an account." } - } + }, + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -9177,62 +8298,60 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", + "CreditorAccount", + "EndToEndIdentification", "InstructedAmount", - "CreditorAccount" + "InstructionIdentification" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment.", + "type": "object", "properties": { "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -9248,44 +8367,36 @@ "UK.OBIE.Target2" ] }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -9295,38 +8406,37 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -9336,33 +8446,32 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." }, "CreditorPostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -9375,103 +8484,100 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." }, "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, "required": [ "Status" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { "Status": { - "description": "Specifies the status of the authorisation flow in code form.", "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ "Authorised", "AwaitingFurtherAuthorisation", @@ -9479,44 +8585,45 @@ ] }, "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." }, "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" + "type": "integer", + "description": "Number of authorisations received." }, "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -9539,330 +8646,548 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "Data" + ], "type": "object", - "additionalProperties": false, "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "DomesticPaymentId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "DomesticPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment information group.", + "enum": [ + "AcceptedCreditSettlementCompleted", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedWithoutPosting", + "Pending", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } } } } }, - "415": { - "description": "Unsupported Media Type", + "400": { + "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -9870,57 +9195,48 @@ "type": "string" } } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -9952,493 +9268,366 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "payments" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "Initiation": { - "type": "object", - "additionalProperties": false, + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "InstructedAmount", - "CreditorAccount" + "ErrorCode", + "Message" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "ErrorCode": { "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", + "Message": { + "maxLength": 500, "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Path": { + "maxLength": 500, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "CreditorPostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } } } }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ - "TownName", - "Country" + "ErrorCode", + "Message" ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", + "type": "object", "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", + "ErrorCode": { "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "Message": { + "maxLength": 500, "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", + "Url": { "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", + "Message": { + "maxLength": 500, + "minLength": 1, "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "Url": { "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } } } - } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "required": true - } - } - }, - "/domestic-scheduled-payments/{DomesticScheduledPaymentId}": { - "get": { - "tags": [ - "Domestic Scheduled Payments" - ], - "summary": "Get Domestic Scheduled Payments", - "operationId": "GetDomesticScheduledPaymentsDomesticScheduledPaymentId", - "parameters": [ - { - "name": "DomesticScheduledPaymentId", - "in": "path", - "description": "DomesticScheduledPaymentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Domestic Scheduled Payments Read", + "429": { + "description": "Too Many Requests", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -10446,592 +9635,72 @@ "type": "string" } }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ - "Data" + "Code", + "Errors", + "Message" ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "DomesticScheduledPaymentId", - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Initiation" - ], - "properties": { - "DomesticScheduledPaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic schedule payment resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of the payment order resource.", - "type": "string", - "enum": [ - "Cancelled", - "InitiationCompleted", - "InitiationFailed", - "InitiationPending" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Refund": { - "type": "object", - "additionalProperties": false, - "required": [ - "Account" - ], - "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.", - "properties": { - "Account": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify an account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - } - }, - "Charges": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", - "required": [ - "ChargeBearer", - "Type", - "Amount" - ], - "properties": { - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] - }, - "Type": { - "description": "Charge type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.CHAPSOut" - ] - }, - "Amount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the charge type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "CreditorPostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - }, - "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Status" - ], - "description": "The multiple authorisation flow response from the ASPSP.", - "properties": { - "Status": { - "description": "Specifies the status of the authorisation flow in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingFurtherAuthorisation", - "Rejected" - ] - }, - "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" - }, - "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" - }, - "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "Debtor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", - "minLength": 0, - "maxLength": 140 - } - } - } - } - }, - "Links": { - "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, + "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -11063,101 +9732,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -11189,275 +9825,95 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/domestic-scheduled-payments/{DomesticScheduledPaymentId}/payment-details": { - "get": { - "tags": [ - "Payment Details" - ], - "summary": "Get Payment Details", - "operationId": "GetDomesticScheduledPaymentsDomesticScheduledPaymentIdPaymentDetails", - "parameters": [ - { - "name": "DomesticScheduledPaymentId", - "in": "path", - "description": "DomesticScheduledPaymentId", - "required": true, - "schema": { - "type": "string" + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/domestic-payments/{DomesticPaymentId}/payment-details": { + "get": { + "tags": [ + "Payment Details" + ], + "summary": "Get Payment Details", + "operationId": "GetDomesticPaymentsDomesticPaymentIdPaymentDetails", + "parameters": [ + { + "name": "DomesticPaymentId", + "in": "path", + "description": "DomesticPaymentId", + "required": true, + "schema": { + "type": "string" } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -11467,53 +9923,49 @@ "200": { "description": "Payment Details Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", - "additionalProperties": false, "properties": { "PaymentStatus": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Payment status details.", "required": [ "PaymentTransactionId", "Status", "StatusUpdateDateTime" ], + "type": "object", "properties": { "PaymentTransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", - "type": "string", + "maxLength": 210, "minLength": 1, - "maxLength": 210 + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." }, "Status": { - "description": "Status of a transfe, as assigned by the transaction administrator.", "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", "enum": [ "Accepted", "AcceptedCancellationRequest", @@ -11538,21 +9990,19 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "StatusDetail": { - "type": "object", - "additionalProperties": false, "required": [ "Status" ], - "description": "Payment status details as per underlying Payment Rail.", + "type": "object", "properties": { "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -11569,14 +10019,14 @@ ] }, "Status": { - "description": "Status of a transfer, as assigned by the transaction administrator.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." }, "StatusReason": { - "description": "Reason Code provided for the status of a transfer.", "type": "string", + "description": "Reason Code provided for the status of a transfer.", "enum": [ "Cancelled", "PendingFailingSettlement", @@ -11588,22 +10038,25 @@ ] }, "StatusReasonDescription": { - "description": "Reason provided for the status of a transfer.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Reason provided for the status of a transfer." } - } + }, + "description": "Payment status details as per underlying Payment Rail." } - } + }, + "description": "Payment status details." } } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -11626,31 +10079,196 @@ "format": "uri" } }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "PaymentStatus": { + "type": "array", + "items": { + "required": [ + "PaymentTransactionId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "PaymentTransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "Status": { + "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", + "enum": [ + "Accepted", + "AcceptedCancellationRequest", + "AcceptedCreditSettlementCompleted", + "AcceptedCustomerProfile", + "AcceptedFundsChecked", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedTechnicalValidation", + "AcceptedWithChange", + "AcceptedWithoutPosting", + "Cancelled", + "NoCancellationProcess", + "PartiallyAcceptedCancellationRequest", + "PartiallyAcceptedTechnicalCorrect", + "PaymentCancelled", + "Pending", + "PendingCancellationRequest", + "Received", + "Rejected", + "RejectedCancellationRequest" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatusDetail": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." + }, + "StatusReason": { + "type": "string", + "description": "Reason Code provided for the status of a transfer.", + "enum": [ + "Cancelled", + "PendingFailingSettlement", + "PendingSettlement", + "Proprietary", + "ProprietaryRejection", + "Suspended", + "Unmatched" + ] + }, + "StatusReasonDescription": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Reason provided for the status of a transfer." + } + }, + "description": "Payment status details as per underlying Payment Rail." + } + }, + "description": "Payment status details." + } + } + } + }, + "Links": { "required": [ "Self" - ] + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -11660,52 +10278,60 @@ "400": { "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -11737,37 +10363,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -11781,57 +10489,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -11863,37 +10580,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" - ] + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -11907,7 +10706,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -11918,7 +10718,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -11929,74 +10730,84 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -12028,37 +10839,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -12073,47 +10966,44 @@ ] } }, - "/domestic-standing-order-consents": { + "/domestic-scheduled-payment-consents": { "post": { "tags": [ - "Domestic Standing Orders" + "Domestic Scheduled Payments" ], - "summary": "Create Domestic Standing Order Consents", - "operationId": "CreateDomesticStandingOrderConsents", + "summary": "Create Domestic Scheduled Payment Consents", + "operationId": "CreateDomesticScheduledPaymentConsents", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } @@ -12124,1157 +11014,557 @@ "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", "required": true, "schema": { - "type": "string", + "maxLength": 40, "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 + "type": "string" } }, { - "in": "header", "name": "x-jws-signature", - "required": true, + "in": "header", "description": "A detached JWS signature of the body of the payload.", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], - "responses": { - "201": { - "description": "Domestic Standing Order Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Permission", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of consent resource in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingAuthorisation", - "Consumed", - "Rejected" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Charges": { - "type": "array", - "items": { + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation", + "Permission" + ], + "type": "object", + "properties": { + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { "required": [ - "ChargeBearer", - "Type", - "Amount" + "Identification", + "SchemeName" ], + "type": "object", "properties": { - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "SchemeName": { "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] }, - "Type": { - "description": "Charge type, in a coded form.", + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ - "UK.OBIE.CHAPSOut" + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] }, - "Amount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the charge type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Frequency", - "FirstPaymentDateTime", - "FirstPaymentAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order.", - "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "RecurringPaymentDateTime": { - "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FirstPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the first Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "RecurringPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the recurring Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "FinalPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the final Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the debtor account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", "type": "string", - "minLength": 1, - "maxLength": 34 + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." } } }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" } }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] - }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", - "minLength": 1, - "maxLength": 128 - } + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } }, - "Debtor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", - "minLength": 0, - "maxLength": 140 - } - } - } + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." } - }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", - "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." } - } - } - }, - "Links": { - "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } - } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." } } } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation", + "Permission" + ], + "type": "object", + "properties": { + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], "type": "object", - "additionalProperties": false, "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" ] }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "Permission", - "Initiation" - ], - "properties": { - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Frequency", - "FirstPaymentDateTime", - "FirstPaymentAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order.", - "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "RecurringPaymentDateTime": { - "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "RequestedExecutionDateTime": { "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "FirstPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the first Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "RecurringPaymentAmount": { - "type": "object", - "additionalProperties": false, + "InstructedAmount": { "required": [ "Amount", "Currency" ], - "description": "The amount of the recurring Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "FinalPaymentAmount": { "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the final Standing Order", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the debtor account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -13284,38 +11574,37 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -13325,64 +11614,157 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." }, - "SupplementaryData": { + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -13394,31 +11776,30 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." } } }, "Risk": { "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", "properties": { "PaymentContextCode": { - "description": "Specifies the payment context", "type": "string", + "description": "Specifies the payment context", "enum": [ "BillPayment", "EcommerceGoods", @@ -13428,201 +11809,133 @@ ] }, "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", + "maxLength": 4, "minLength": 3, - "maxLength": 4 + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." }, "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." }, "DeliveryAddress": { - "type": "object", - "additionalProperties": false, "required": [ - "TownName", - "Country" + "Country", + "TownName" ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", + "type": "object", "properties": { "AddressLine": { + "maxItems": 2, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government, occupying a particular territory." } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } - } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." } } } } }, "required": true - } - } - }, - "/domestic-standing-order-consents/{ConsentId}": { - "get": { - "tags": [ - "Domestic Standing Orders" - ], - "summary": "Get Domestic Standing Order Consents", - "operationId": "GetDomesticStandingOrderConsentsConsentId", - "parameters": [ - { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], + }, "responses": { - "200": { - "description": "Domestic Standing Order Consents Read", + "201": { + "description": "Domestic Scheduled Payment Consents Created", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", - "Status", - "StatusUpdateDateTime", + "Initiation", "Permission", - "Initiation" + "Status", + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", @@ -13631,45 +11944,53 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Permission": { - "description": "Specifies the Open Banking service request types.", "type": "string", + "description": "Specifies the Open Banking service request types.", "enum": [ "Create" ] }, "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", "type": "string", + "description": "Specifies to share the refund account details with PISP", "enum": [ "No", "Yes" ] }, "CutOffDateTime": { + "type": "string", "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -13678,154 +11999,110 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "Frequency", - "FirstPaymentDateTime", - "FirstPaymentAmount", - "CreditorAccount" + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order.", + "type": "object", "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", + "InstructionIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, - "RecurringPaymentDateTime": { - "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "LocalInstrument": { "type": "string", - "format": "date-time" + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "RequestedExecutionDateTime": { "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "FirstPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the first Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "RecurringPaymentAmount": { - "type": "object", - "additionalProperties": false, + "InstructedAmount": { "required": [ "Amount", "Currency" ], - "description": "The amount of the recurring Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "FinalPaymentAmount": { "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the final Standing Order", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the debtor account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -13835,38 +12112,37 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -13876,64 +12152,157 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -13945,44 +12314,42 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Risk": { "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", "properties": { "PaymentContextCode": { - "description": "Specifies the payment context", "type": "string", + "description": "Specifies the payment context", "enum": [ "BillPayment", "EcommerceGoods", @@ -13992,80 +12359,81 @@ ] }, "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", + "maxLength": 4, "minLength": 3, - "maxLength": 4 + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." }, "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." }, "DeliveryAddress": { - "type": "object", - "additionalProperties": false, "required": [ - "TownName", - "Country" + "Country", + "TownName" ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", + "type": "object", "properties": { "AddressLine": { + "maxItems": 2, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government, occupying a particular territory." } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } - } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -14088,664 +12456,120 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Data", + "Risk" + ], "type": "object", - "additionalProperties": false, "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Permission", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/domestic-standing-orders": { - "post": { - "tags": [ - "Domestic Standing Orders" - ], - "summary": "Create Domestic Standing Orders", - "operationId": "CreateDomesticStandingOrders", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } - }, - { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "A detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "Domestic Standing Orders Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "DomesticStandingOrderId", - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Initiation" - ], - "properties": { - "DomesticStandingOrderId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic standing order resource.", + "CreationDateTime": { "type": "string", - "minLength": 1, - "maxLength": 40 + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", + "Status": { "type": "string", - "minLength": 1, - "maxLength": 128 + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "StatusUpdateDateTime": { "type": "string", + "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "Status": { - "description": "Specifies the status of the payment order resource.", + "Permission": { "type": "string", + "description": "Specifies the Open Banking service request types.", "enum": [ - "Cancelled", - "InitiationCompleted", - "InitiationFailed", - "InitiationPending" + "Create" ] }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "Refund": { - "type": "object", - "additionalProperties": false, - "required": [ - "Account" - ], - "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.", - "properties": { - "Account": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify an account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - } + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -14754,154 +12578,110 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "Frequency", - "FirstPaymentDateTime", - "FirstPaymentAmount", - "CreditorAccount" + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order.", + "type": "object", "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", + "InstructionIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, - "RecurringPaymentDateTime": { - "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "LocalInstrument": { "type": "string", - "format": "date-time" + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "RequestedExecutionDateTime": { "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "FirstPaymentAmount": { - "type": "object", - "additionalProperties": false, + "InstructedAmount": { "required": [ "Amount", "Currency" ], - "description": "The amount of the first Standing Order", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } - }, - "RecurringPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the recurring Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "FinalPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the final Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the debtor account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -14911,38 +12691,37 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -14952,89 +12731,288 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." }, - "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, + "Authorisation": { "required": [ - "Status" + "AuthorisationType" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { - "Status": { - "description": "Specifies the status of the authorisation flow in code form.", + "AuthorisationType": { "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ - "Authorised", - "AwaitingFurtherAuthorisation", - "Rejected" + "Any", + "Single" ] }, - "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" - }, - "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" - }, - "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "CompletionDateTime": { "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] }, - "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "AppliedAuthenticationApproach": { "type": "string", - "format": "date-time" + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -15057,31 +13035,28 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -15091,52 +13066,60 @@ "400": { "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -15168,37 +13151,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -15212,57 +13277,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -15294,37 +13368,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -15338,7 +13494,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -15349,7 +13506,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -15360,7 +13518,8 @@ "type": "string" } } - } + }, + "content": {} }, "415": { "description": "Unsupported Media Type", @@ -15371,74 +13530,84 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -15470,426 +13639,189 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "payments" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Frequency", - "FirstPaymentDateTime", - "FirstPaymentAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order.", - "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", + "Path": { + "maxLength": 500, "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "RecurringPaymentDateTime": { - "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", - "format": "date-time" + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Url": { "type": "string", - "format": "date-time" - }, - "FirstPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the first Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "RecurringPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the recurring Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "FinalPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the final Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the debtor account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } } } }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ - "TownName", - "Country" + "ErrorCode", + "Message" ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", + "type": "object", "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", + "ErrorCode": { "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "Message": { + "maxLength": 500, "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", "type": "string", - "minLength": 1, - "maxLength": 16 + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "Path": { + "maxLength": 500, "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "Url": { "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } } } - } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - }, - "required": true - } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ], + "x-codegen-request-body-name": "OBWriteDomesticScheduledConsent4Param" } }, - "/domestic-standing-orders/{DomesticStandingOrderId}": { + "/domestic-scheduled-payment-consents/{ConsentId}": { "get": { "tags": [ - "Domestic Standing Orders" + "Domestic Scheduled Payments" ], - "summary": "Get Domestic Standing Orders", - "operationId": "GetDomesticStandingOrdersDomesticStandingOrderId", + "summary": "Get Domestic Scheduled Payment Consents", + "operationId": "GetDomesticScheduledPaymentConsentsConsentId", "parameters": [ { - "name": "DomesticStandingOrderId", + "name": "ConsentId", "in": "path", - "description": "DomesticStandingOrderId", + "description": "ConsentId", "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -15897,140 +13829,110 @@ ], "responses": { "200": { - "description": "Domestic Standing Orders Read", + "description": "Domestic Scheduled Payment Consents Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ - "Data" + "Data", + "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "DomesticStandingOrderId", "ConsentId", "CreationDateTime", + "Initiation", + "Permission", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "DomesticStandingOrderId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic standing order resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of the payment order resource.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ - "Cancelled", - "InitiationCompleted", - "InitiationFailed", - "InitiationPending" + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "Refund": { - "type": "object", - "additionalProperties": false, - "required": [ - "Account" - ], - "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.", - "properties": { - "Account": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify an account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - } + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -16039,154 +13941,110 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "Frequency", - "FirstPaymentDateTime", - "FirstPaymentAmount", - "CreditorAccount" + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order.", + "type": "object", "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", + "InstructionIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, - "RecurringPaymentDateTime": { - "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "LocalInstrument": { "type": "string", - "format": "date-time" + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "RequestedExecutionDateTime": { "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "FirstPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the first Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "RecurringPaymentAmount": { - "type": "object", - "additionalProperties": false, + "InstructedAmount": { "required": [ "Amount", "Currency" ], - "description": "The amount of the recurring Standing Order", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "FinalPaymentAmount": { "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the final Standing Order", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the debtor account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -16196,38 +14054,37 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -16237,89 +14094,288 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." }, - "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, + "Authorisation": { "required": [ - "Status" + "AuthorisationType" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { - "Status": { - "description": "Specifies the status of the authorisation flow in code form.", + "AuthorisationType": { "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ - "Authorised", - "AwaitingFurtherAuthorisation", - "Rejected" + "Any", + "Single" ] }, - "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" - }, - "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" - }, - "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "CompletionDateTime": { "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] }, - "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "AppliedAuthenticationApproach": { "type": "string", - "format": "date-time" + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -16342,377 +14398,670 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "Data", + "Risk" + ], "type": "object", - "additionalProperties": false, "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Permission", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } } } } }, - "500": { - "description": "Internal Server Error", + "400": { + "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -16744,358 +15093,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/domestic-standing-orders/{DomesticStandingOrderId}/payment-details": { - "get": { - "tags": [ - "Payment Details" - ], - "summary": "Get Payment Details", - "operationId": "GetDomesticStandingOrdersDomesticStandingOrderIdPaymentDetails", - "parameters": [ - { - "name": "DomesticStandingOrderId", - "in": "path", - "description": "DomesticStandingOrderId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Payment Details Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data" + "Errors", + "Message" ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "properties": { - "PaymentStatus": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Payment status details.", - "required": [ - "PaymentTransactionId", - "Status", - "StatusUpdateDateTime" - ], - "properties": { - "PaymentTransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "Status": { - "description": "Status of a transfe, as assigned by the transaction administrator.", - "type": "string", - "enum": [ - "Accepted", - "AcceptedCancellationRequest", - "AcceptedCreditSettlementCompleted", - "AcceptedCustomerProfile", - "AcceptedFundsChecked", - "AcceptedSettlementCompleted", - "AcceptedSettlementInProcess", - "AcceptedTechnicalValidation", - "AcceptedWithChange", - "AcceptedWithoutPosting", - "Cancelled", - "NoCancellationProcess", - "PartiallyAcceptedCancellationRequest", - "PartiallyAcceptedTechnicalCorrect", - "PaymentCancelled", - "Pending", - "PendingCancellationRequest", - "Received", - "Rejected", - "RejectedCancellationRequest" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "StatusDetail": { - "type": "object", - "additionalProperties": false, - "required": [ - "Status" - ], - "description": "Payment status details as per underlying Payment Rail.", - "properties": { - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "Status": { - "description": "Status of a transfer, as assigned by the transaction administrator.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "StatusReason": { - "description": "Reason Code provided for the status of a transfer.", - "type": "string", - "enum": [ - "Cancelled", - "PendingFailingSettlement", - "PendingSettlement", - "Proprietary", - "ProprietaryRejection", - "Suspended", - "Unmatched" - ] - }, - "StatusReasonDescription": { - "description": "Reason provided for the status of a transfer.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - } - } - } - } - } - }, - "Links": { - "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -17127,37 +15186,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -17171,57 +15219,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -17253,37 +15310,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -17297,7 +15436,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -17308,7 +15448,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -17319,74 +15460,84 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -17418,680 +15569,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/file-payment-consents": { - "post": { - "tags": [ - "File Payments" - ], - "summary": "Create File Payment Consents", - "operationId": "CreateFilePaymentConsents", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } - }, - { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "A detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "File Payment Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data" + "Errors", + "Message" ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of consent resource in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingAuthorisation", - "AwaitingUpload", - "Consumed", - "Rejected" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Charges": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", - "required": [ - "ChargeBearer", - "Type", - "Amount" - ], - "properties": { - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] - }, - "Type": { - "description": "Charge type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.CHAPSOut" - ] - }, - "Amount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the charge type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "FileType", - "FileHash" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file.", - "properties": { - "FileType": { - "description": "Specifies the payment file type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.PaymentInitiation.3.1", - "UK.OBIE.pain.001.001.08" - ] - }, - "FileHash": { - "description": "A base64 encoding of a SHA256 hash of the file to be uploaded.", - "type": "string", - "minLength": 1, - "maxLength": 44 - }, - "FileReference": { - "description": "Reference for the file.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "NumberOfTransactions": { - "description": "Number of individual transactions contained in the payment information group.", - "type": "string", - "pattern": "[0-9]{1,15}" - }, - "ControlSum": { - "description": "Total of all individual amounts included in the group, irrespective of currencies.", - "type": "number" - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] - }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", - "minLength": 1, - "maxLength": 128 - } - } - }, - "Debtor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", - "minLength": 0, - "maxLength": 140 - } - } - } - } - }, - "Links": { - "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -18123,289 +15662,159 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/domestic-scheduled-payments": { + "post": { + "tags": [ + "Domestic Scheduled Payments" + ], + "summary": "Create Domestic Scheduled Payments", + "operationId": "CreateDomesticScheduledPayments", + "parameters": [ + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" } }, - "415": { - "description": "Unsupported Media Type", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" } }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" } }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } + { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" } - } - }, - "security": [ + }, { - "TPPOAuth2Security": [ - "payments" - ] + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "requestBody": { "description": "Default", "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ - "Data" + "Data", + "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ + "ConsentId", "Initiation" ], + "type": "object", "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "FileType", - "FileHash" + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file.", + "type": "object", "properties": { - "FileType": { - "description": "Specifies the payment file type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.PaymentInitiation.3.1", - "UK.OBIE.pain.001.001.08" - ] - }, - "FileHash": { - "description": "A base64 encoding of a SHA256 hash of the file to be uploaded.", - "type": "string", - "minLength": 1, - "maxLength": 44 - }, - "FileReference": { - "description": "Reference for the file.", - "type": "string", + "InstructionIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 40 - }, - "NumberOfTransactions": { - "description": "Number of individual transactions contained in the payment information group.", "type": "string", - "pattern": "[0-9]{1,15}" - }, - "ControlSum": { - "description": "Total of all individual amounts included in the group, irrespective of currencies.", - "type": "number" + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -18421,18 +15830,41 @@ "UK.OBIE.Target2" ] }, - "DebtorAccount": { + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], "type": "object", - "additionalProperties": false, + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -18442,267 +15874,759 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] }, - "Authorisation": { - "type": "object", - "additionalProperties": false, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { "required": [ - "AuthorisationType" + "Country", + "TownName" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "StreetName": { + "maxLength": 70, + "minLength": 1, "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] + "description": "Number that identifies the position of a building on a street." }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "PostCode": { + "maxLength": 16, + "minLength": 1, "type": "string", - "enum": [ - "CA", - "SCA" - ] + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } - } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." } } } } }, - "required": true - } - } - }, - "/file-payment-consents/{ConsentId}": { - "get": { - "tags": [ - "File Payments" - ], - "summary": "Get File Payment Consents", - "operationId": "GetFilePaymentConsentsConsentId", - "parameters": [ - { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], + "required": true + }, "responses": { - "200": { - "description": "File Payment Consents Read", + "201": { + "description": "Domestic Scheduled Payments Created", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", + "DomesticScheduledPaymentId", + "Initiation", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", + "DomesticScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic schedule payment resource." + }, + "ConsentId": { + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of the payment order resource.", "enum": [ - "Authorised", - "AwaitingAuthorisation", - "AwaitingUpload", - "Consumed", - "Rejected" + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + }, + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." + }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -18711,82 +16635,60 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "FileType", - "FileHash" + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file.", + "type": "object", "properties": { - "FileType": { - "description": "Specifies the payment file type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.PaymentInitiation.3.1", - "UK.OBIE.pain.001.001.08" - ] - }, - "FileHash": { - "description": "A base64 encoding of a SHA256 hash of the file to be uploaded.", - "type": "string", - "minLength": 1, - "maxLength": 44 - }, - "FileReference": { - "description": "Reference for the file.", - "type": "string", + "InstructionIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 40 - }, - "NumberOfTransactions": { - "description": "Number of individual transactions contained in the payment information group.", "type": "string", - "pattern": "[0-9]{1,15}" + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, - "ControlSum": { - "description": "Total of all individual amounts included in the group, irrespective of currencies.", - "type": "number" - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -18802,18 +16704,41 @@ "UK.OBIE.Target2" ] }, - "DebtorAccount": { + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], "type": "object", - "additionalProperties": false, + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -18823,128 +16748,224 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, - "RemittanceInformation": { + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", + "SchemeName": { "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", + "Name": { + "maxLength": 350, + "minLength": 1, "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." }, - "SupplementaryData": { + "CreditorPostalAddress": { "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ - "CA", - "SCA" + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" ] }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { "type": "string", - "minLength": 1, - "maxLength": 128 + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -18967,377 +16988,600 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "Data" + ], "type": "object", - "additionalProperties": false, "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "DomesticScheduledPaymentId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "DomesticScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic schedule payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" + "Initiation": { + "required": [ + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -19369,196 +17613,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/file-payment-consents/{ConsentId}/file": { - "post": { - "tags": [ - "File Payments" - ], - "summary": "Create File Payment Consents", - "operationId": "CreateFilePaymentConsentsConsentIdFile", - "parameters": [ - { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } - }, - { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "A detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "File Payment Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -19590,37 +17706,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -19634,57 +17739,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -19716,151 +17830,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -19892,270 +17923,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": {} - } - } - }, - "required": true - } - }, - "get": { - "tags": [ - "File Payments" - ], - "summary": "Get File Payment Consents", - "operationId": "GetFilePaymentConsentsConsentIdFile", - "parameters": [ - { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "File Payment Consents Read", + "404": { + "description": "Not found", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } } }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": {} - } - } - } + "content": {} }, - "400": { - "description": "Bad request", + "405": { + "description": "Method Not Allowed", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } } }, - "content": { - "application/json": { + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] + "type": "string" } } - } + }, + "content": {} }, - "401": { - "description": "Unauthorized", + "415": { + "description": "Unsupported Media Type", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -20163,10 +17992,11 @@ "type": "string" } } - } + }, + "content": {} }, - "403": { - "description": "Forbidden", + "429": { + "description": "Too Many Requests", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -20174,46 +18004,72 @@ "type": "string" } }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -20245,140 +18101,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -20410,37 +18194,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -20448,172 +18221,214 @@ }, "security": [ { - "TPPOAuth2Security": [ + "PSUOAuth2Security": [ "payments" ] } - ] + ], + "x-codegen-request-body-name": "OBWriteDomesticScheduled2Param" } }, - "/file-payments": { - "post": { + "/domestic-scheduled-payments/{DomesticScheduledPaymentId}": { + "get": { "tags": [ - "File Payments" + "Domestic Scheduled Payments" ], - "summary": "Create File Payments", - "operationId": "CreateFilePayments", + "summary": "Get Domestic Scheduled Payments", + "operationId": "GetDomesticScheduledPaymentsDomesticScheduledPaymentId", "parameters": [ { - "in": "header", + "name": "DomesticScheduledPaymentId", + "in": "path", + "description": "DomesticScheduledPaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + { "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "name": "x-idempotency-key", + "name": "x-customer-user-agent", "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, + "description": "Indicates the user-agent that the PSU is using.", "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } - }, - { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "A detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" + "type": "string" } } ], "responses": { - "201": { - "description": "File Payments Created", + "200": { + "description": "Domestic Scheduled Payments Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "FilePaymentId", "ConsentId", "CreationDateTime", + "DomesticScheduledPaymentId", + "Initiation", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "FilePaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the file payment resource.", - "type": "string", + "DomesticScheduledPaymentId": { + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic schedule payment resource." }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of the payment order resource.", "type": "string", + "description": "Specifies the status of the payment order resource.", "enum": [ + "Cancelled", "InitiationCompleted", "InitiationFailed", "InitiationPending" ] }, "StatusUpdateDateTime": { + "type": "string", "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + }, + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." + }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -20622,82 +18437,60 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "FileType", - "FileHash" + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file.", + "type": "object", "properties": { - "FileType": { - "description": "Specifies the payment file type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.PaymentInitiation.3.1", - "UK.OBIE.pain.001.001.08" - ] - }, - "FileHash": { - "description": "A base64 encoding of a SHA256 hash of the file to be uploaded.", - "type": "string", - "minLength": 1, - "maxLength": 44 - }, - "FileReference": { - "description": "Reference for the file.", - "type": "string", + "InstructionIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 40 - }, - "NumberOfTransactions": { - "description": "Number of individual transactions contained in the payment information group.", "type": "string", - "pattern": "[0-9]{1,15}" - }, - "ControlSum": { - "description": "Total of all individual amounts included in the group, irrespective of currencies.", - "type": "number" + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -20713,18 +18506,41 @@ "UK.OBIE.Target2" ] }, - "DebtorAccount": { + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], "type": "object", - "additionalProperties": false, + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -20734,63 +18550,178 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." }, "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, "required": [ "Status" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { "Status": { - "description": "Specifies the status of the authorisation flow in code form.", "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ "Authorised", "AwaitingFurtherAuthorisation", @@ -20798,44 +18729,45 @@ ] }, "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." }, "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" + "type": "integer", + "description": "Number of authorisations received." }, "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -20858,212 +18790,600 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Data" + ], "type": "object", - "additionalProperties": false, "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "DomesticScheduledPaymentId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "DomesticScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic schedule payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "Initiation": { + "required": [ + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } } } } }, - "403": { - "description": "Forbidden", + "400": { + "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -21095,65 +19415,125 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "406": { - "description": "Not Acceptable", + "401": { + "description": "Unauthorized", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -21161,27 +19541,17 @@ "type": "string" } } - } + }, + "content": {} }, - "415": { - "description": "Unsupported Media Type", + "403": { + "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -21189,57 +19559,48 @@ "type": "string" } } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -21271,271 +19632,447 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "payments" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "Initiation": { - "type": "object", - "additionalProperties": false, + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ - "FileType", - "FileHash" + "ErrorCode", + "Message" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file.", + "type": "object", "properties": { - "FileType": { - "description": "Specifies the payment file type.", + "ErrorCode": { "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ - "UK.OBIE.PaymentInitiation.3.1", - "UK.OBIE.pain.001.001.08" + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" ] }, - "FileHash": { - "description": "A base64 encoding of a SHA256 hash of the file to be uploaded.", - "type": "string", + "Message": { + "maxLength": 500, "minLength": 1, - "maxLength": 44 - }, - "FileReference": { - "description": "Reference for the file.", "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "NumberOfTransactions": { - "description": "Number of individual transactions contained in the payment information group.", + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { "type": "string", - "pattern": "[0-9]{1,15}" + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] }, - "ControlSum": { - "description": "Total of all individual amounts included in the group, irrespective of currencies.", - "type": "number" + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Path": { + "maxLength": 500, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" ] }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } } } - } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - }, - "required": true - } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] } }, - "/file-payments/{FilePaymentId}": { + "/domestic-scheduled-payments/{DomesticScheduledPaymentId}/payment-details": { "get": { "tags": [ - "File Payments" + "Payment Details" ], - "summary": "Get File Payments", - "operationId": "GetFilePaymentsFilePaymentId", + "summary": "Get Payment Details", + "operationId": "GetDomesticScheduledPaymentsDomesticScheduledPaymentIdPaymentDetails", "parameters": [ { - "name": "FilePaymentId", + "name": "DomesticScheduledPaymentId", "in": "path", - "description": "FilePaymentId", + "description": "DomesticScheduledPaymentId", "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -21543,310 +20080,310 @@ ], "responses": { "200": { - "description": "File Payments Read", + "description": "Payment Details Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", - "additionalProperties": false, - "required": [ - "FilePaymentId", - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Initiation" - ], "properties": { - "FilePaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the file payment resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of the payment order resource.", - "type": "string", - "enum": [ - "InitiationCompleted", - "InitiationFailed", - "InitiationPending" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Charges": { + "PaymentStatus": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ - "ChargeBearer", - "Type", - "Amount" + "PaymentTransactionId", + "Status", + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "PaymentTransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "Status": { "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" + "Accepted", + "AcceptedCancellationRequest", + "AcceptedCreditSettlementCompleted", + "AcceptedCustomerProfile", + "AcceptedFundsChecked", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedTechnicalValidation", + "AcceptedWithChange", + "AcceptedWithoutPosting", + "Cancelled", + "NoCancellationProcess", + "PartiallyAcceptedCancellationRequest", + "PartiallyAcceptedTechnicalCorrect", + "PaymentCancelled", + "Pending", + "PendingCancellationRequest", + "Received", + "Rejected", + "RejectedCancellationRequest" ] }, - "Type": { - "description": "Charge type, in a coded form.", + "StatusUpdateDateTime": { "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.CHAPSOut" - ] + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "Amount": { - "type": "object", - "additionalProperties": false, + "StatusDetail": { "required": [ - "Amount", - "Currency" + "Status" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "LocalInstrument": { "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." + }, + "StatusReason": { + "type": "string", + "description": "Reason Code provided for the status of a transfer.", + "enum": [ + "Cancelled", + "PendingFailingSettlement", + "PendingSettlement", + "Proprietary", + "ProprietaryRejection", + "Suspended", + "Unmatched" + ] + }, + "StatusReasonDescription": { + "maxLength": 256, + "minLength": 1, "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Reason provided for the status of a transfer." } - } - } - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "FileType", - "FileHash" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file.", - "properties": { - "FileType": { - "description": "Specifies the payment file type.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.PaymentInitiation.3.1", - "UK.OBIE.pain.001.001.08" - ] - }, - "FileHash": { - "description": "A base64 encoding of a SHA256 hash of the file to be uploaded.", - "type": "string", - "minLength": 1, - "maxLength": 44 - }, - "FileReference": { - "description": "Reference for the file.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "NumberOfTransactions": { - "description": "Number of individual transactions contained in the payment information group.", - "type": "string", - "pattern": "[0-9]{1,15}" - }, - "ControlSum": { - "description": "Total of all individual amounts included in the group, irrespective of currencies.", - "type": "number" - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } + "description": "Payment status details as per underlying Payment Rail." } }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } + "description": "Payment status details." } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" }, - "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Status" - ], - "description": "The multiple authorisation flow response from the ASPSP.", - "properties": { - "Status": { - "description": "Specifies the status of the authorisation flow in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingFurtherAuthorisation", - "Rejected" - ] - }, - "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" - }, - "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" - }, - "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } + "First": { + "type": "string", + "format": "uri" }, - "Debtor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", - "minLength": 0, - "maxLength": 140 - } + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "PaymentStatus": { + "type": "array", + "items": { + "required": [ + "PaymentTransactionId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "PaymentTransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "Status": { + "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", + "enum": [ + "Accepted", + "AcceptedCancellationRequest", + "AcceptedCreditSettlementCompleted", + "AcceptedCustomerProfile", + "AcceptedFundsChecked", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedTechnicalValidation", + "AcceptedWithChange", + "AcceptedWithoutPosting", + "Cancelled", + "NoCancellationProcess", + "PartiallyAcceptedCancellationRequest", + "PartiallyAcceptedTechnicalCorrect", + "PaymentCancelled", + "Pending", + "PendingCancellationRequest", + "Received", + "Rejected", + "RejectedCancellationRequest" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatusDetail": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." + }, + "StatusReason": { + "type": "string", + "description": "Reason Code provided for the status of a transfer.", + "enum": [ + "Cancelled", + "PendingFailingSettlement", + "PendingSettlement", + "Proprietary", + "ProprietaryRejection", + "Suspended", + "Unmatched" + ] + }, + "StatusReasonDescription": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Reason provided for the status of a transfer." + } + }, + "description": "Payment status details as per underlying Payment Rail." + } + }, + "description": "Payment status details." } } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -21869,31 +20406,28 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -21903,52 +20437,60 @@ "400": { "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -21980,101 +20522,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -22106,54 +20615,32 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "405": { - "description": "Method Not Allowed", + "401": { + "description": "Unauthorized", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -22161,27 +20648,17 @@ "type": "string" } } - } + }, + "content": {} }, - "406": { - "description": "Not Acceptable", + "403": { + "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -22189,57 +20666,48 @@ "type": "string" } } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -22271,358 +20739,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/file-payments/{FilePaymentId}/payment-details": { - "get": { - "tags": [ - "Payment Details" - ], - "summary": "Get Payment Details", - "operationId": "GetFilePaymentsFilePaymentIdPaymentDetails", - "parameters": [ - { - "name": "FilePaymentId", - "in": "path", - "description": "FilePaymentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Payment Details Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data" + "Errors", + "Message" ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "properties": { - "PaymentStatus": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Payment status details.", - "required": [ - "PaymentTransactionId", - "Status", - "StatusUpdateDateTime" - ], - "properties": { - "PaymentTransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "Status": { - "description": "Status of a transfe, as assigned by the transaction administrator.", - "type": "string", - "enum": [ - "Accepted", - "AcceptedCancellationRequest", - "AcceptedCreditSettlementCompleted", - "AcceptedCustomerProfile", - "AcceptedFundsChecked", - "AcceptedSettlementCompleted", - "AcceptedSettlementInProcess", - "AcceptedTechnicalValidation", - "AcceptedWithChange", - "AcceptedWithoutPosting", - "Cancelled", - "NoCancellationProcess", - "PartiallyAcceptedCancellationRequest", - "PartiallyAcceptedTechnicalCorrect", - "PaymentCancelled", - "Pending", - "PendingCancellationRequest", - "Received", - "Rejected", - "RejectedCancellationRequest" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "StatusDetail": { - "type": "object", - "additionalProperties": false, - "required": [ - "Status" - ], - "description": "Payment status details as per underlying Payment Rail.", - "properties": { - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "Status": { - "description": "Status of a transfer, as assigned by the transaction administrator.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "StatusReason": { - "description": "Reason Code provided for the status of a transfer.", - "type": "string", - "enum": [ - "Cancelled", - "PendingFailingSettlement", - "PendingSettlement", - "Proprietary", - "ProprietaryRejection", - "Suspended", - "Unmatched" - ] - }, - "StatusReasonDescription": { - "description": "Reason provided for the status of a transfer.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - } - } - } - } - } - }, - "Links": { - "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -22654,43 +20832,32 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "401": { - "description": "Unauthorized", + "404": { + "description": "Not found", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -22698,10 +20865,35 @@ "type": "string" } } - } + }, + "content": {} }, - "403": { - "description": "Forbidden", + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -22709,46 +20901,72 @@ "type": "string" } }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -22780,140 +20998,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -22945,37 +21091,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -22990,640 +21125,858 @@ ] } }, - "/file-payments/{FilePaymentId}/report-file": { - "get": { + "/domestic-standing-order-consents": { + "post": { "tags": [ - "File Payments" + "Domestic Standing Orders" ], - "summary": "Get File Payments", - "operationId": "GetFilePaymentsFilePaymentIdReportFile", + "summary": "Create Domestic Standing Order Consents", + "operationId": "CreateDomesticStandingOrderConsents", "parameters": [ { - "name": "FilePaymentId", - "in": "path", - "description": "FilePaymentId", - "required": true, + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", "type": "string" } }, { + "name": "x-fapi-customer-ip-address", "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "type": "string" } }, { + "name": "x-fapi-interaction-id", "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { + "name": "Authorization", "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { + "name": "x-idempotency-key", "in": "header", - "name": "Authorization", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", "type": "string" } }, { + "name": "x-jws-signature", "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", "schema": { "type": "string" } } ], - "responses": { - "200": { - "description": "File Payments Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "properties": {} - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation", + "Permission" + ], + "type": "object", + "properties": { + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" + ], "type": "object", - "additionalProperties": false, "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", + "Reference": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", + "FirstPaymentDateTime": { "type": "string", - "minLength": 1, - "maxLength": 500 + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "RecurringPaymentDateTime": { + "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the first Standing Order" + }, + "RecurringPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the debtor account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." + }, + "Authorisation": { "required": [ - "ErrorCode", - "Message" + "AuthorisationType" ], - "minProperties": 1 + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." }, - "type": "array", - "minItems": 1 + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], "type": "object", - "additionalProperties": false, "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] + "description": "Name of a street or thoroughfare." }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } } } }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation", + "Permission" + ], + "type": "object", + "properties": { + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" + ], "type": "object", - "additionalProperties": false, "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", + "Reference": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", + "FirstPaymentDateTime": { "type": "string", - "minLength": 1, - "maxLength": 500 + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "RecurringPaymentDateTime": { + "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the first Standing Order" + }, + "RecurringPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the debtor account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." + }, + "Authorisation": { "required": [ - "ErrorCode", - "Message" + "AuthorisationType" ], - "minProperties": 1 + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." }, - "type": "array", - "minItems": 1 + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } } } } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/international-payment-consents": { - "post": { - "tags": [ - "International Payments" - ], - "summary": "Create International Payment Consents", - "operationId": "CreateInternationalPaymentConsents", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } - }, - { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "A detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], + "required": true + }, "responses": { "201": { - "description": "International Payment Consents Created", + "description": "Domestic Standing Order Consents Created", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", + "Initiation", + "Permission", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", @@ -23632,48 +21985,43 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", "type": "string", + "description": "Specifies to share the refund account details with PISP", "enum": [ "No", "Yes" ] }, "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -23682,227 +22030,147 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, + "Initiation": { "required": [ - "UnitCurrency", - "ExchangeRate", - "RateType" + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" ], - "description": "Further detailed information on the exchange rate that has been used in the payment transaction.", + "type": "object", "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", + "Reference": { + "maxLength": 35, + "minLength": 1, "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "ExpirationDateTime": { - "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "FirstPaymentDateTime": { "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", - "type": "string", - "enum": [ - "Normal", - "Urgent" - ] - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "RecurringPaymentDateTime": { "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "FinalPaymentDateTime": { "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, + "FirstPaymentAmount": { "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "The amount of the first Standing Order" }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, + "RecurringPaymentAmount": { "required": [ - "UnitCurrency", - "RateType" + "Amount", + "Currency" ], - "description": "Provides details on the currency exchange rate and contract.", + "type": "object", "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 256 + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "The amount of the final Standing Order" }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -23912,235 +22180,37 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", + "SecondaryIdentification": { + "maxLength": 34, "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the debtor account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -24150,83 +22220,61 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -24238,44 +22286,42 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Risk": { "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", "properties": { "PaymentContextCode": { - "description": "Specifies the payment context", "type": "string", + "description": "Specifies the payment context", "enum": [ "BillPayment", "EcommerceGoods", @@ -24285,80 +22331,81 @@ ] }, "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", + "maxLength": 4, "minLength": 3, - "maxLength": 4 + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." }, "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." }, "DeliveryAddress": { - "type": "object", - "additionalProperties": false, "required": [ - "TownName", - "Country" + "Country", + "TownName" ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", + "type": "object", "properties": { "AddressLine": { + "maxItems": 2, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government, occupying a particular territory." } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } - } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -24381,330 +22428,552 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "application/jose+jwe": { "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "Data", + "Risk" + ], "type": "object", - "additionalProperties": false, "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Permission", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "RecurringPaymentDateTime": { + "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the first Standing Order" + }, + "RecurringPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the debtor account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } }, - "type": "array", - "minItems": 1 + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } } } }, - "415": { - "description": "Unsupported Media Type", + "400": { + "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -24712,57 +22981,48 @@ "type": "string" } } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -24794,680 +23054,629 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "Initiation" - ], - "properties": { - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "Initiation": { - "type": "object", - "additionalProperties": false, + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "ErrorCode", + "Message" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "ErrorCode": { "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "Message": { + "maxLength": 500, + "minLength": 1, "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" ] }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "Message": { + "maxLength": 500, + "minLength": 1, "type": "string", - "enum": [ - "Normal", - "Urgent" - ] + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "Path": { + "maxLength": 500, "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", "type": "string", - "minLength": 1, - "maxLength": 140 + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "Url": { "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "415": { + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" ] }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "Message": { + "maxLength": 500, + "minLength": 1, "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "Path": { + "maxLength": 500, + "minLength": 1, "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] - }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", + "Url": { "type": "string", - "minLength": 1, - "maxLength": 128 + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } } } }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ - "TownName", - "Country" + "ErrorCode", + "Message" ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", + "type": "object", "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", + "ErrorCode": { "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "Message": { + "maxLength": 500, "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", "type": "string", - "minLength": 1, - "maxLength": 16 + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "Path": { + "maxLength": 500, "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "Url": { "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } } } - } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - }, - "required": true - } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ], + "x-codegen-request-body-name": "OBWriteDomesticStandingOrderConsent5Param" } }, - "/international-payment-consents/{ConsentId}": { + "/domestic-standing-order-consents/{ConsentId}": { "get": { "tags": [ - "International Payments" + "Domestic Standing Orders" ], - "summary": "Get International Payment Consents", - "operationId": "GetInternationalPaymentConsentsConsentId", + "summary": "Get Domestic Standing Order Consents", + "operationId": "GetDomesticStandingOrderConsentsConsentId", "parameters": [ { "name": "ConsentId", @@ -25479,47 +23688,43 @@ } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -25527,56 +23732,55 @@ ], "responses": { "200": { - "description": "International Payment Consents Read", + "description": "Domestic Standing Order Consents Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", + "Initiation", + "Permission", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", @@ -25585,48 +23789,43 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", "type": "string", + "description": "Specifies to share the refund account details with PISP", "enum": [ "No", "Yes" ] }, "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -25635,227 +23834,147 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, + "Initiation": { "required": [ - "UnitCurrency", - "ExchangeRate", - "RateType" + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" ], - "description": "Further detailed information on the exchange rate that has been used in the payment transaction.", + "type": "object", "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", + "FirstPaymentDateTime": { "type": "string", - "minLength": 1, - "maxLength": 256 + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "ExpirationDateTime": { - "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "RecurringPaymentDateTime": { "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", - "type": "string", - "enum": [ - "Normal", - "Urgent" - ] - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "FinalPaymentDateTime": { "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, + "FirstPaymentAmount": { "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "The amount of the first Standing Order" }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, + "RecurringPaymentAmount": { "required": [ - "UnitCurrency", - "RateType" + "Amount", + "Currency" ], - "description": "Provides details on the currency exchange rate and contract.", + "type": "object", "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 256 + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "The amount of the final Standing Order" }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -25865,235 +23984,37 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", + "SecondaryIdentification": { + "maxLength": 34, "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the debtor account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -26103,83 +24024,61 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -26191,44 +24090,42 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Risk": { "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", "properties": { "PaymentContextCode": { - "description": "Specifies the payment context", "type": "string", + "description": "Specifies the payment context", "enum": [ "BillPayment", "EcommerceGoods", @@ -26238,80 +24135,81 @@ ] }, "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", + "maxLength": 4, "minLength": 3, - "maxLength": 4 + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." }, "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." }, "DeliveryAddress": { - "type": "object", - "additionalProperties": false, "required": [ - "TownName", - "Country" + "Country", + "TownName" ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", + "type": "object", "properties": { "AddressLine": { + "maxItems": 2, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government, occupying a particular territory." } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } - } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -26334,319 +24232,552 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "Data", + "Risk" + ], "type": "object", - "additionalProperties": false, "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Permission", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "RecurringPaymentDateTime": { + "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the first Standing Order" + }, + "RecurringPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the debtor account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } }, - "type": "array", - "minItems": 1 + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } } } }, - "406": { - "description": "Not Acceptable", + "400": { + "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -26654,57 +24785,48 @@ "type": "string" } } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -26736,279 +24858,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/international-payment-consents/{ConsentId}/funds-confirmation": { - "get": { - "tags": [ - "International Payments" - ], - "summary": "Get International Payment Consents Funds Confirmation", - "operationId": "GetInternationalPaymentConsentsConsentIdFundsConfirmation", - "parameters": [ - { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "International Payment Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "application/jose+jwe": { "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, "required": [ - "Data" + "Code", + "Errors", + "Message" ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "properties": { - "FundsAvailableResult": { - "type": "object", - "additionalProperties": false, - "required": [ - "FundsAvailableDateTime", - "FundsAvailable" - ], - "description": "Result of a funds availability check.", - "properties": { - "FundsAvailableDateTime": { - "description": "Date and time at which the funds availability check was generated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FundsAvailable": { - "description": "Flag to indicate the availability of funds given the Amount in the consent request.", - "type": "boolean" - } - } - }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - }, - "Links": { - "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -27040,37 +24951,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -27084,57 +24984,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -27166,37 +25075,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -27210,7 +25201,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -27221,7 +25213,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -27232,74 +25225,84 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -27331,37 +25334,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -27369,54 +25454,51 @@ }, "security": [ { - "PSUOAuth2Security": [ + "TPPOAuth2Security": [ "payments" ] } ] } }, - "/international-payments": { + "/domestic-standing-orders": { "post": { "tags": [ - "International Payments" + "Domestic Standing Orders" ], - "summary": "Create International Payments", - "operationId": "CreateInternationalPayments", + "summary": "Create Domestic Standing Orders", + "operationId": "CreateDomesticStandingOrders", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } @@ -27427,603 +25509,910 @@ "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", "required": true, "schema": { - "type": "string", + "maxLength": 40, "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 + "type": "string" } }, { - "in": "header", "name": "x-jws-signature", - "required": true, + "in": "header", "description": "A detached JWS signature of the body of the payload.", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], - "responses": { - "201": { - "description": "International Payments Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "InternationalPaymentId", - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Initiation" - ], - "properties": { - "InternationalPaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international payment resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of the payment information group.", - "type": "string", - "enum": [ - "AcceptedCreditSettlementCompleted", - "AcceptedSettlementCompleted", - "AcceptedSettlementInProcess", - "AcceptedWithoutPosting", - "Pending", - "Rejected" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Refund": { - "type": "object", - "additionalProperties": false, - "required": [ - "Account" - ], - "properties": { - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "RecurringPaymentDateTime": { + "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } }, - "Agent": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } + "description": "The amount of the first Standing Order" + }, + "RecurringPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } }, - "Account": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify an account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - } - }, - "Charges": { - "type": "array", - "items": { + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "DebtorAccount": { "required": [ - "ChargeBearer", - "Type", - "Amount" + "Identification", + "SchemeName" ], + "type": "object", "properties": { - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "SchemeName": { "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] }, - "Type": { - "description": "Charge type, in a coded form.", + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the debtor account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ - "UK.OBIE.CHAPSOut" + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] }, - "Amount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the charge type.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "ExchangeRate", - "RateType" - ], - "description": "Further detailed information on the exchange rate that has been used in the payment transaction.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, "minLength": 1, - "maxLength": 256 - }, - "ExpirationDateTime": { - "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", - "format": "date-time" + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." } }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "RecurringPaymentDateTime": { + "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "description": "The amount of the first Standing Order" + }, + "RecurringPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the debtor account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, "type": "string", - "enum": [ - "Normal", - "Urgent" - ] + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Domestic Standing Orders Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "DomesticStandingOrderId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "DomesticStandingOrderId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic standing order resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + }, + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "minLength": 1, - "maxLength": 4 + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", + "Reference": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "FirstPaymentDateTime": { "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "RecurringPaymentDateTime": { "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "FinalPaymentDateTime": { "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, + "FirstPaymentAmount": { "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "The amount of the first Standing Order" }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, + "RecurringPaymentAmount": { "required": [ - "UnitCurrency", - "RateType" + "Amount", + "Currency" ], - "description": "Provides details on the currency exchange rate and contract.", + "type": "object", "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 256 + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "The amount of the final Standing Order" }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -28033,235 +26422,437 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the debtor account." }, - "Creditor": { + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", + "SchemeName": { "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "CreditorAgent": { + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "DomesticStandingOrderId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "DomesticStandingOrderId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic standing order resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ - "UK.OBIE.BICFI" + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" ] }, "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } + }, + "description": "Provides the details to identify an account." + } + }, + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." } }, - "CreditorAccount": { + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "RecurringPaymentDateTime": { + "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the first Standing Order" + }, + "RecurringPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], "type": "object", - "additionalProperties": false, + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the final Standing Order" + }, + "DebtorAccount": { "required": [ - "SchemeName", "Identification", - "Name" + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -28271,63 +26862,82 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the debtor account." }, - "RemittanceInformation": { + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", + "SchemeName": { "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", + "Name": { + "maxLength": 350, + "minLength": 1, "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." }, "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, "required": [ "Status" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { "Status": { - "description": "Specifies the status of the authorisation flow in code form.", "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ "Authorised", "AwaitingFurtherAuthorisation", @@ -28335,44 +26945,45 @@ ] }, "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." }, "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" + "type": "integer", + "description": "Number of authorisations received." }, "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -28395,31 +27006,28 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -28429,52 +27037,60 @@ "400": { "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -28506,39 +27122,121 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" - ] - } - } + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } } }, "401": { @@ -28550,57 +27248,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -28632,37 +27339,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -28676,7 +27465,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -28687,7 +27477,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -28698,7 +27489,8 @@ "type": "string" } } - } + }, + "content": {} }, "415": { "description": "Unsupported Media Type", @@ -28709,74 +27501,84 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -28808,37 +27610,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -28851,935 +27735,594 @@ ] } ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "x-codegen-request-body-name": "OBWriteDomesticStandingOrder3Param" + } + }, + "/domestic-standing-orders/{DomesticStandingOrderId}": { + "get": { + "tags": [ + "Domestic Standing Orders" + ], + "summary": "Get Domestic Standing Orders", + "operationId": "GetDomesticStandingOrdersDomesticStandingOrderId", + "parameters": [ + { + "name": "DomesticStandingOrderId", + "in": "path", + "description": "DomesticStandingOrderId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Domestic Standing Orders Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "DomesticStandingOrderId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "DomesticStandingOrderId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic standing order resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", - "type": "string", - "enum": [ - "Normal", - "Urgent" - ] - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." + }, + "Charges": { + "type": "array", + "items": { "required": [ "Amount", - "Currency" + "ChargeBearer", + "Type" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "ExchangeRateInformation": { "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", + "ChargeBearer": { "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ - "Actual", - "Agreed", - "Indicative" + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" ] }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", + "Type": { "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" + "UK.OBIE.CHAPSOut" ] }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { + "Amount": { + "required": [ + "Amount", + "Currency" + ], "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "Country": { - "description": "Nation with its own government.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "RecurringPaymentDateTime": { + "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 + "description": "The amount of the first Standing Order" + }, + "RecurringPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 + "description": "The amount of the final Standing Order" + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Provides the details to identify the debtor account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" } }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." } } - } - }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", - "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" } - } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "required": true - } - } - }, - "/international-payments/{InternationalPaymentId}": { - "get": { - "tags": [ - "International Payments" - ], - "summary": "Get International Payments", - "operationId": "GetInternationalPaymentsInternationalPaymentId", - "parameters": [ - { - "name": "InternationalPaymentId", - "in": "path", - "description": "InternationalPaymentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "International Payments Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "InternationalPaymentId", "ConsentId", "CreationDateTime", + "DomesticStandingOrderId", + "Initiation", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "InternationalPaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international payment resource.", - "type": "string", + "DomesticStandingOrderId": { + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic standing order resource." }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of the payment information group.", "type": "string", + "description": "Specifies the status of the payment order resource.", "enum": [ - "AcceptedCreditSettlementCompleted", - "AcceptedSettlementCompleted", - "AcceptedSettlementInProcess", - "AcceptedWithoutPosting", - "Pending", - "Rejected" + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Refund": { - "type": "object", - "additionalProperties": false, "required": [ "Account" ], + "type": "object", "properties": { - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "Agent": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, "Account": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Provides the details to identify an account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -29789,42 +28332,42 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify an account." } - } + }, + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -29833,227 +28376,147 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "ExchangeRate", - "RateType" - ], - "description": "Further detailed information on the exchange rate that has been used in the payment transaction.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 }, - "ExpirationDateTime": { - "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", + "Reference": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", "type": "string", - "enum": [ - "Normal", - "Urgent" - ] + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", "type": "string", - "minLength": 1, - "maxLength": 140 + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "FirstPaymentDateTime": { "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "RecurringPaymentDateTime": { "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "FinalPaymentDateTime": { "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, + "FirstPaymentAmount": { "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "The amount of the first Standing Order" }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, + "RecurringPaymentAmount": { "required": [ - "UnitCurrency", - "RateType" + "Amount", + "Currency" ], - "description": "Provides details on the currency exchange rate and contract.", + "type": "object", "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 256 + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "The amount of the final Standing Order" }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -30063,235 +28526,37 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", + "SecondaryIdentification": { + "maxLength": 34, "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the debtor account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -30301,63 +28566,42 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." }, "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, "required": [ "Status" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { "Status": { - "description": "Specifies the status of the authorisation flow in code form.", "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ "Authorised", "AwaitingFurtherAuthorisation", @@ -30365,44 +28609,45 @@ ] }, "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." }, "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" + "type": "integer", + "description": "Number of authorisations received." }, "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -30425,31 +28670,28 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -30459,52 +28701,60 @@ "400": { "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -30536,37 +28786,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -30580,57 +28912,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -30662,37 +29003,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -30706,7 +29129,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -30717,7 +29141,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -30728,74 +29153,84 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -30827,110 +29262,188 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/international-payments/{InternationalPaymentId}/payment-details": { - "get": { - "tags": [ - "Payment Details" - ], - "summary": "Get Payment Details", - "operationId": "GetInternationalPaymentsInternationalPaymentIdPaymentDetails", - "parameters": [ - { - "name": "InternationalPaymentId", - "in": "path", - "description": "InternationalPaymentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/domestic-standing-orders/{DomesticStandingOrderId}/payment-details": { + "get": { + "tags": [ + "Payment Details" + ], + "summary": "Get Payment Details", + "operationId": "GetDomesticStandingOrdersDomesticStandingOrderIdPaymentDetails", + "parameters": [ + { + "name": "DomesticStandingOrderId", + "in": "path", + "description": "DomesticStandingOrderId", + "required": true, "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "type": "string" } }, { + "name": "x-fapi-auth-date", "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -30940,53 +29453,49 @@ "200": { "description": "Payment Details Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", - "additionalProperties": false, "properties": { "PaymentStatus": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Payment status details.", "required": [ "PaymentTransactionId", "Status", "StatusUpdateDateTime" ], + "type": "object", "properties": { "PaymentTransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", - "type": "string", + "maxLength": 210, "minLength": 1, - "maxLength": 210 + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." }, "Status": { - "description": "Status of a transfe, as assigned by the transaction administrator.", "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", "enum": [ "Accepted", "AcceptedCancellationRequest", @@ -31011,21 +29520,19 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "StatusDetail": { - "type": "object", - "additionalProperties": false, "required": [ "Status" ], - "description": "Payment status details as per underlying Payment Rail.", + "type": "object", "properties": { "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -31042,14 +29549,14 @@ ] }, "Status": { - "description": "Status of a transfer, as assigned by the transaction administrator.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." }, "StatusReason": { - "description": "Reason Code provided for the status of a transfer.", "type": "string", + "description": "Reason Code provided for the status of a transfer.", "enum": [ "Cancelled", "PendingFailingSettlement", @@ -31061,22 +29568,25 @@ ] }, "StatusReasonDescription": { - "description": "Reason provided for the status of a transfer.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Reason provided for the status of a transfer." } - } + }, + "description": "Payment status details as per underlying Payment Rail." } - } + }, + "description": "Payment status details." } } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -31099,31 +29609,196 @@ "format": "uri" } }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "PaymentStatus": { + "type": "array", + "items": { + "required": [ + "PaymentTransactionId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "PaymentTransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "Status": { + "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", + "enum": [ + "Accepted", + "AcceptedCancellationRequest", + "AcceptedCreditSettlementCompleted", + "AcceptedCustomerProfile", + "AcceptedFundsChecked", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedTechnicalValidation", + "AcceptedWithChange", + "AcceptedWithoutPosting", + "Cancelled", + "NoCancellationProcess", + "PartiallyAcceptedCancellationRequest", + "PartiallyAcceptedTechnicalCorrect", + "PaymentCancelled", + "Pending", + "PendingCancellationRequest", + "Received", + "Rejected", + "RejectedCancellationRequest" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatusDetail": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." + }, + "StatusReason": { + "type": "string", + "description": "Reason Code provided for the status of a transfer.", + "enum": [ + "Cancelled", + "PendingFailingSettlement", + "PendingSettlement", + "Proprietary", + "ProprietaryRejection", + "Suspended", + "Unmatched" + ] + }, + "StatusReasonDescription": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Reason provided for the status of a transfer." + } + }, + "description": "Payment status details as per underlying Payment Rail." + } + }, + "description": "Payment status details." + } + } + } + }, + "Links": { "required": [ "Self" - ] + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -31133,52 +29808,60 @@ "400": { "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -31210,101 +29893,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -31336,54 +29986,32 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "405": { - "description": "Method Not Allowed", + "401": { + "description": "Unauthorized", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -31391,27 +30019,17 @@ "type": "string" } } - } + }, + "content": {} }, - "406": { - "description": "Not Acceptable", + "403": { + "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -31419,57 +30037,48 @@ "type": "string" } } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -31501,92 +30110,430 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { "required": [ "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } ] } }, - "/international-scheduled-payment-consents": { + "/file-payment-consents": { "post": { "tags": [ - "International Scheduled Payments" + "File Payments" ], - "summary": "Create International Scheduled Payment Consents", - "operationId": "CreateInternationalScheduledPaymentConsents", + "summary": "Create File Payment Consents", + "operationId": "CreateFilePaymentConsents", "parameters": [ { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } @@ -31597,246 +30544,589 @@ "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", "required": true, "schema": { - "type": "string", + "maxLength": 40, "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 + "type": "string" } }, { - "in": "header", "name": "x-jws-signature", - "required": true, + "in": "header", "description": "A detached JWS signature of the body of the payload.", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], - "responses": { - "201": { - "description": "International Scheduled Payment Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Permission", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of consent resource in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingAuthorisation", - "Consumed", - "Rejected" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Charges": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation" + ], + "type": "object", + "properties": { + "Initiation": { + "required": [ + "FileHash", + "FileType" + ], + "type": "object", + "properties": { + "FileType": { + "type": "string", + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] + }, + "FileHash": { + "maxLength": 44, + "minLength": 1, + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "DebtorAccount": { "required": [ - "ChargeBearer", - "Type", - "Amount" + "Identification", + "SchemeName" ], + "type": "object", "properties": { - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] - }, - "Type": { - "description": "Charge type, in a coded form.", + "SchemeName": { "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ - "UK.OBIE.CHAPSOut" + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } + } + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation" + ], + "type": "object", + "properties": { + "Initiation": { + "required": [ + "FileHash", + "FileType" + ], + "type": "object", + "properties": { + "FileType": { + "type": "string", + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] + }, + "FileHash": { + "maxLength": 44, + "minLength": 1, + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } + } + } + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "File Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "AwaitingUpload", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, + "Initiation": { "required": [ - "UnitCurrency", - "ExchangeRate", - "RateType" + "FileHash", + "FileType" ], - "description": "Further detailed information on the exchange rate that has been used in the payment transaction.", + "type": "object", "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", + "FileType": { "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" ] }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", + "FileHash": { + "maxLength": 44, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." }, - "ExpirationDateTime": { - "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "FileReference": { + "maxLength": 40, + "minLength": 1, "type": "string", - "format": "date-time" - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Number of individual transactions contained in the payment information group." }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -31852,119 +31142,16 @@ "UK.OBIE.Target2" ] }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", - "type": "string", - "enum": [ - "Normal", - "Urgent" - ] - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -31974,235 +31161,342 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, - "Creditor": { + "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "Unstructured": { + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, - "CreditorAgent": { + "SupplementaryData": { "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "AwaitingUpload", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "FileHash", + "FileType" + ], + "type": "object", + "properties": { + "FileType": { + "type": "string", + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] + }, + "FileHash": { + "maxLength": 44, + "minLength": 1, + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "DebtorAccount": { "required": [ - "SchemeName", "Identification", - "Name" + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -32212,83 +31506,79 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -32300,127 +31590,41 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 - } - } - } - } - }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", - "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -32443,31 +31647,28 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -32477,52 +31678,60 @@ "400": { "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -32554,37 +31763,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -32598,57 +31889,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -32680,37 +31980,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -32724,7 +32106,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -32735,7 +32118,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -32746,7 +32130,8 @@ "type": "string" } } - } + }, + "content": {} }, "415": { "description": "Unsupported Media Type", @@ -32757,74 +32142,84 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -32856,37 +32251,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -32899,650 +32376,16 @@ ] } ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "Permission", - "Initiation" - ], - "properties": { - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", - "type": "string", - "enum": [ - "Normal", - "Urgent" - ] - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] - }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", - "minLength": 1, - "maxLength": 128 - } - } - } - } - }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", - "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - } - } - } - } - } - } - } - } - }, - "required": true - } + "x-codegen-request-body-name": "OBWriteFileConsent3Param" } }, - "/international-scheduled-payment-consents/{ConsentId}": { + "/file-payment-consents/{ConsentId}": { "get": { "tags": [ - "International Scheduled Payments" + "File Payments" ], - "summary": "Get International Scheduled Payment Consents", - "operationId": "GetInternationalScheduledPaymentConsentsConsentId", + "summary": "Get File Payment Consents", + "operationId": "GetFilePaymentConsentsConsentId", "parameters": [ { "name": "ConsentId", @@ -33554,47 +32397,43 @@ } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -33602,114 +32441,84 @@ ], "responses": { "200": { - "description": "International Scheduled Payment Consents Read", + "description": "File Payment Consents Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ - "Data", - "Risk" + "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", + "Initiation", "Status", - "StatusUpdateDateTime", - "Permission", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", + "AwaitingUpload", "Consumed", "Rejected" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -33718,104 +32527,80 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, + "Initiation": { "required": [ - "UnitCurrency", - "ExchangeRate", - "RateType" + "FileHash", + "FileType" ], - "description": "Further detailed information on the exchange rate that has been used in the payment transaction.", + "type": "object", "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", + "FileType": { "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" ] }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", + "FileHash": { + "maxLength": 44, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." }, - "ExpirationDateTime": { - "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "FileReference": { + "maxLength": 40, + "minLength": 1, "type": "string", - "format": "date-time" - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Number of individual transactions contained in the payment information group." }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -33831,443 +32616,98 @@ "UK.OBIE.Target2" ] }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", - "type": "string", - "enum": [ - "Normal", - "Urgent" - ] - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, + "DebtorAccount": { "required": [ - "Amount", - "Currency" + "Identification", + "SchemeName" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -34279,127 +32719,41 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 - } - } - } - } - }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", - "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -34422,212 +32776,436 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Data" + ], "type": "object", - "additionalProperties": false, "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "AwaitingUpload", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "Initiation": { + "required": [ + "FileHash", + "FileType" + ], + "type": "object", + "properties": { + "FileType": { + "type": "string", + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] + }, + "FileHash": { + "maxLength": 44, + "minLength": 1, + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } } } }, - "403": { - "description": "Forbidden", + "400": { + "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -34659,54 +33237,125 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } }, - "405": { - "description": "Method Not Allowed", + "401": { + "description": "Unauthorized", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -34714,27 +33363,17 @@ "type": "string" } } - } + }, + "content": {} }, - "406": { - "description": "Not Acceptable", + "403": { + "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -34742,57 +33381,48 @@ "type": "string" } } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -34824,232 +33454,161 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/international-scheduled-payment-consents/{ConsentId}/funds-confirmation": { - "get": { - "tags": [ - "International Scheduled Payments" - ], - "summary": "Get International Scheduled Payment Consents Funds Confirmation", - "operationId": "GetInternationalScheduledPaymentConsentsConsentIdFundsConfirmation", - "parameters": [ - { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "International Scheduled Payment Consents Read", + "404": { + "description": "Not found", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, - "content": { - "application/json": { + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "properties": { - "FundsAvailableResult": { - "type": "object", - "additionalProperties": false, - "required": [ - "FundsAvailableDateTime", - "FundsAvailable" - ], - "description": "Result of a funds availability check.", - "properties": { - "FundsAvailableDateTime": { - "description": "Date and time at which the funds availability check was generated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FundsAvailable": { - "description": "Flag to indicate the availability of funds given the Amount in the consent request.", - "type": "boolean" - } - } - }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - }, - "Links": { - "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - } - } + "type": "string" } } - } + }, + "content": {} }, - "400": { - "description": "Bad request", + "429": { + "description": "Too Many Requests", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -35057,46 +33616,72 @@ "type": "string" } }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -35128,101 +33713,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -35254,140 +33806,187 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/file-payment-consents/{ConsentId}/file": { + "get": { + "tags": [ + "File Payments" + ], + "summary": "Get File Payment Consents", + "operationId": "GetFilePaymentConsentsConsentIdFile", + "parameters": [ + { + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, - "405": { - "description": "Method Not Allowed", + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "File Payment Consents Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { + }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", + }, + "content": { + "application/json; charset=utf-8": { "schema": { - "type": "integer" + "type": "object" } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "application/jose+jwe": { "schema": { - "type": "string" + "type": "object" } } } }, - "500": { - "description": "Internal Server Error", + "400": { + "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -35419,92 +34018,654 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/international-scheduled-payments": { - "post": { - "tags": [ - "International Scheduled Payments" - ], - "summary": "Create International Scheduled Payments", - "operationId": "CreateInternationalScheduledPayments", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - { + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + }, + "post": { + "tags": [ + "File Payments" + ], + "summary": "Create File Payment Consents", + "operationId": "CreateFilePaymentConsentsConsentIdFile", + "parameters": [ + { + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } @@ -35515,136 +34676,32524 @@ "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", "required": true, "schema": { - "type": "string", + "maxLength": 40, "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 + "type": "string" } }, { - "in": "header", "name": "x-jws-signature", - "required": true, + "in": "header", "description": "A detached JWS signature of the body of the payload.", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "type": "object" + } + }, + "application/jose+jwe": { + "schema": { + "type": "object" + } + } + }, + "required": true + }, "responses": { - "201": { - "description": "International Scheduled Payments Created", + "200": { + "description": "File Payment Consents Created", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } - }, + } + }, + "content": {} + }, + "400": { + "description": "Bad request", + "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ - "Data" + "Code", + "Errors", + "Message" ], + "type": "object", "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "InternationalScheduledPaymentId", - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Initiation" - ], - "properties": { - "InternationalScheduledPaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international scheduled payment resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of the payment order resource.", - "type": "string", - "enum": [ - "Cancelled", - "InitiationCompleted", - "InitiationFailed", - "InitiationPending" + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "415": { + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ], + "x-codegen-request-body-name": "FileParam" + } + }, + "/file-payments": { + "post": { + "tags": [ + "File Payments" + ], + "summary": "Create File Payments", + "operationId": "CreateFilePayments", + "parameters": [ + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } + }, + { + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "FileHash", + "FileType" + ], + "type": "object", + "properties": { + "FileType": { + "type": "string", + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] + }, + "FileHash": { + "maxLength": 44, + "minLength": 1, + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." + } + } + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "FileHash", + "FileType" + ], + "type": "object", + "properties": { + "FileType": { + "type": "string", + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] + }, + "FileHash": { + "maxLength": 44, + "minLength": 1, + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." + } + } + } + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "File Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "FilePaymentId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "FilePaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the file payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "FileHash", + "FileType" + ], + "type": "object", + "properties": { + "FileType": { + "type": "string", + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] + }, + "FileHash": { + "maxLength": 44, + "minLength": 1, + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "FilePaymentId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "FilePaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the file payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "FileHash", + "FileType" + ], + "type": "object", + "properties": { + "FileType": { + "type": "string", + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] + }, + "FileHash": { + "maxLength": 44, + "minLength": 1, + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "415": { + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "payments" + ] + } + ], + "x-codegen-request-body-name": "OBWriteFile2Param" + } + }, + "/file-payments/{FilePaymentId}": { + "get": { + "tags": [ + "File Payments" + ], + "summary": "Get File Payments", + "operationId": "GetFilePaymentsFilePaymentId", + "parameters": [ + { + "name": "FilePaymentId", + "in": "path", + "description": "FilePaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "File Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "FilePaymentId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "FilePaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the file payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "FileHash", + "FileType" + ], + "type": "object", + "properties": { + "FileType": { + "type": "string", + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] + }, + "FileHash": { + "maxLength": 44, + "minLength": 1, + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "FilePaymentId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "FilePaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the file payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "FileHash", + "FileType" + ], + "type": "object", + "properties": { + "FileType": { + "type": "string", + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] + }, + "FileHash": { + "maxLength": 44, + "minLength": 1, + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/file-payments/{FilePaymentId}/payment-details": { + "get": { + "tags": [ + "Payment Details" + ], + "summary": "Get Payment Details", + "operationId": "GetFilePaymentsFilePaymentIdPaymentDetails", + "parameters": [ + { + "name": "FilePaymentId", + "in": "path", + "description": "FilePaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "PaymentStatus": { + "type": "array", + "items": { + "required": [ + "PaymentTransactionId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "PaymentTransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "Status": { + "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", + "enum": [ + "Accepted", + "AcceptedCancellationRequest", + "AcceptedCreditSettlementCompleted", + "AcceptedCustomerProfile", + "AcceptedFundsChecked", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedTechnicalValidation", + "AcceptedWithChange", + "AcceptedWithoutPosting", + "Cancelled", + "NoCancellationProcess", + "PartiallyAcceptedCancellationRequest", + "PartiallyAcceptedTechnicalCorrect", + "PaymentCancelled", + "Pending", + "PendingCancellationRequest", + "Received", + "Rejected", + "RejectedCancellationRequest" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatusDetail": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." + }, + "StatusReason": { + "type": "string", + "description": "Reason Code provided for the status of a transfer.", + "enum": [ + "Cancelled", + "PendingFailingSettlement", + "PendingSettlement", + "Proprietary", + "ProprietaryRejection", + "Suspended", + "Unmatched" + ] + }, + "StatusReasonDescription": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Reason provided for the status of a transfer." + } + }, + "description": "Payment status details as per underlying Payment Rail." + } + }, + "description": "Payment status details." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "PaymentStatus": { + "type": "array", + "items": { + "required": [ + "PaymentTransactionId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "PaymentTransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "Status": { + "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", + "enum": [ + "Accepted", + "AcceptedCancellationRequest", + "AcceptedCreditSettlementCompleted", + "AcceptedCustomerProfile", + "AcceptedFundsChecked", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedTechnicalValidation", + "AcceptedWithChange", + "AcceptedWithoutPosting", + "Cancelled", + "NoCancellationProcess", + "PartiallyAcceptedCancellationRequest", + "PartiallyAcceptedTechnicalCorrect", + "PaymentCancelled", + "Pending", + "PendingCancellationRequest", + "Received", + "Rejected", + "RejectedCancellationRequest" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatusDetail": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." + }, + "StatusReason": { + "type": "string", + "description": "Reason Code provided for the status of a transfer.", + "enum": [ + "Cancelled", + "PendingFailingSettlement", + "PendingSettlement", + "Proprietary", + "ProprietaryRejection", + "Suspended", + "Unmatched" + ] + }, + "StatusReasonDescription": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Reason provided for the status of a transfer." + } + }, + "description": "Payment status details as per underlying Payment Rail." + } + }, + "description": "Payment status details." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/file-payments/{FilePaymentId}/report-file": { + "get": { + "tags": [ + "File Payments" + ], + "summary": "Get File Payments", + "operationId": "GetFilePaymentsFilePaymentIdReportFile", + "parameters": [ + { + "name": "FilePaymentId", + "in": "path", + "description": "FilePaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "File Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "type": "object" + } + }, + "application/jose+jwe": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/international-payment-consents": { + "post": { + "tags": [ + "International Payments" + ], + "summary": "Create International Payment Consents", + "operationId": "CreateInternationalPaymentConsents", + "parameters": [ + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } + }, + { + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation" + ], + "type": "object", + "properties": { + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation" + ], + "type": "object", + "properties": { + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "International Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "415": { + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ], + "x-codegen-request-body-name": "OBWriteInternationalConsent5Param" + } + }, + "/international-payment-consents/{ConsentId}": { + "get": { + "tags": [ + "International Payments" + ], + "summary": "Get International Payment Consents", + "operationId": "GetInternationalPaymentConsentsConsentId", + "parameters": [ + { + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "International Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/international-payment-consents/{ConsentId}/funds-confirmation": { + "get": { + "tags": [ + "International Payments" + ], + "summary": "Get International Payment Consents Funds Confirmation", + "operationId": "GetInternationalPaymentConsentsConsentIdFundsConfirmation", + "parameters": [ + { + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "International Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "FundsAvailableResult": { + "required": [ + "FundsAvailable", + "FundsAvailableDateTime" + ], + "type": "object", + "properties": { + "FundsAvailableDateTime": { + "type": "string", + "description": "Date and time at which the funds availability check was generated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FundsAvailable": { + "type": "boolean", + "description": "Flag to indicate the availability of funds given the Amount in the consent request." + } + }, + "description": "Result of a funds availability check." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "FundsAvailableResult": { + "required": [ + "FundsAvailable", + "FundsAvailableDateTime" + ], + "type": "object", + "properties": { + "FundsAvailableDateTime": { + "type": "string", + "description": "Date and time at which the funds availability check was generated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FundsAvailable": { + "type": "boolean", + "description": "Flag to indicate the availability of funds given the Amount in the consent request." + } + }, + "description": "Result of a funds availability check." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/international-payments": { + "post": { + "tags": [ + "International Payments" + ], + "summary": "Create International Payments", + "operationId": "CreateInternationalPayments", + "parameters": [ + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } + }, + { + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "International Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "InternationalPaymentId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "InternationalPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment information group.", + "enum": [ + "AcceptedCreditSettlementCompleted", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedWithoutPosting", + "Pending", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to identify a person or an organisation." + }, + "Agent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." + }, + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + } + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "InternationalPaymentId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "InternationalPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment information group.", + "enum": [ + "AcceptedCreditSettlementCompleted", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedWithoutPosting", + "Pending", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to identify a person or an organisation." + }, + "Agent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." + }, + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + } + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "415": { + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "payments" + ] + } + ], + "x-codegen-request-body-name": "OBWriteInternational3Param" + } + }, + "/international-payments/{InternationalPaymentId}": { + "get": { + "tags": [ + "International Payments" + ], + "summary": "Get International Payments", + "operationId": "GetInternationalPaymentsInternationalPaymentId", + "parameters": [ + { + "name": "InternationalPaymentId", + "in": "path", + "description": "InternationalPaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "International Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "InternationalPaymentId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "InternationalPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment information group.", + "enum": [ + "AcceptedCreditSettlementCompleted", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedWithoutPosting", + "Pending", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to identify a person or an organisation." + }, + "Agent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." + }, + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + } + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "InternationalPaymentId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "InternationalPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment information group.", + "enum": [ + "AcceptedCreditSettlementCompleted", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedWithoutPosting", + "Pending", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to identify a person or an organisation." + }, + "Agent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." + }, + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + } + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/international-payments/{InternationalPaymentId}/payment-details": { + "get": { + "tags": [ + "Payment Details" + ], + "summary": "Get Payment Details", + "operationId": "GetInternationalPaymentsInternationalPaymentIdPaymentDetails", + "parameters": [ + { + "name": "InternationalPaymentId", + "in": "path", + "description": "InternationalPaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "PaymentStatus": { + "type": "array", + "items": { + "required": [ + "PaymentTransactionId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "PaymentTransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "Status": { + "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", + "enum": [ + "Accepted", + "AcceptedCancellationRequest", + "AcceptedCreditSettlementCompleted", + "AcceptedCustomerProfile", + "AcceptedFundsChecked", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedTechnicalValidation", + "AcceptedWithChange", + "AcceptedWithoutPosting", + "Cancelled", + "NoCancellationProcess", + "PartiallyAcceptedCancellationRequest", + "PartiallyAcceptedTechnicalCorrect", + "PaymentCancelled", + "Pending", + "PendingCancellationRequest", + "Received", + "Rejected", + "RejectedCancellationRequest" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatusDetail": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." + }, + "StatusReason": { + "type": "string", + "description": "Reason Code provided for the status of a transfer.", + "enum": [ + "Cancelled", + "PendingFailingSettlement", + "PendingSettlement", + "Proprietary", + "ProprietaryRejection", + "Suspended", + "Unmatched" + ] + }, + "StatusReasonDescription": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Reason provided for the status of a transfer." + } + }, + "description": "Payment status details as per underlying Payment Rail." + } + }, + "description": "Payment status details." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "PaymentStatus": { + "type": "array", + "items": { + "required": [ + "PaymentTransactionId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "PaymentTransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "Status": { + "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", + "enum": [ + "Accepted", + "AcceptedCancellationRequest", + "AcceptedCreditSettlementCompleted", + "AcceptedCustomerProfile", + "AcceptedFundsChecked", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedTechnicalValidation", + "AcceptedWithChange", + "AcceptedWithoutPosting", + "Cancelled", + "NoCancellationProcess", + "PartiallyAcceptedCancellationRequest", + "PartiallyAcceptedTechnicalCorrect", + "PaymentCancelled", + "Pending", + "PendingCancellationRequest", + "Received", + "Rejected", + "RejectedCancellationRequest" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatusDetail": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." + }, + "StatusReason": { + "type": "string", + "description": "Reason Code provided for the status of a transfer.", + "enum": [ + "Cancelled", + "PendingFailingSettlement", + "PendingSettlement", + "Proprietary", + "ProprietaryRejection", + "Suspended", + "Unmatched" + ] + }, + "StatusReasonDescription": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Reason provided for the status of a transfer." + } + }, + "description": "Payment status details as per underlying Payment Rail." + } + }, + "description": "Payment status details." + } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/international-scheduled-payment-consents": { + "post": { + "tags": [ + "International Scheduled Payments" + ], + "summary": "Create International Scheduled Payment Consents", + "operationId": "CreateInternationalScheduledPaymentConsents", + "parameters": [ + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } + }, + { + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation", + "Permission" + ], + "type": "object", + "properties": { + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation", + "Permission" + ], + "type": "object", + "properties": { + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "International Scheduled Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Permission", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Permission", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "415": { + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ], + "x-codegen-request-body-name": "OBWriteInternationalScheduledConsent5Param" + } + }, + "/international-scheduled-payment-consents/{ConsentId}": { + "get": { + "tags": [ + "International Scheduled Payments" + ], + "summary": "Get International Scheduled Payment Consents", + "operationId": "GetInternationalScheduledPaymentConsentsConsentId", + "parameters": [ + { + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "International Scheduled Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Permission", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Permission", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/international-scheduled-payment-consents/{ConsentId}/funds-confirmation": { + "get": { + "tags": [ + "International Scheduled Payments" + ], + "summary": "Get International Scheduled Payment Consents Funds Confirmation", + "operationId": "GetInternationalScheduledPaymentConsentsConsentIdFundsConfirmation", + "parameters": [ + { + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "International Scheduled Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "FundsAvailableResult": { + "required": [ + "FundsAvailable", + "FundsAvailableDateTime" + ], + "type": "object", + "properties": { + "FundsAvailableDateTime": { + "type": "string", + "description": "Date and time at which the funds availability check was generated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FundsAvailable": { + "type": "boolean", + "description": "Flag to indicate the availability of funds given the Amount in the consent request." + } + }, + "description": "Result of a funds availability check." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "FundsAvailableResult": { + "required": [ + "FundsAvailable", + "FundsAvailableDateTime" + ], + "type": "object", + "properties": { + "FundsAvailableDateTime": { + "type": "string", + "description": "Date and time at which the funds availability check was generated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FundsAvailable": { + "type": "boolean", + "description": "Flag to indicate the availability of funds given the Amount in the consent request." + } + }, + "description": "Result of a funds availability check." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/international-scheduled-payments": { + "post": { + "tags": [ + "International Scheduled Payments" + ], + "summary": "Create International Scheduled Payments", + "operationId": "CreateInternationalScheduledPayments", + "parameters": [ + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } + }, + { + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "International Scheduled Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "InternationalScheduledPaymentId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "InternationalScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international scheduled payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to identify a person or an organisation." + }, + "Agent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." + }, + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + } + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "InternationalScheduledPaymentId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "InternationalScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international scheduled payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to identify a person or an organisation." + }, + "Agent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." + }, + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + } + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "415": { + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "PSUOAuth2Security": [ + "payments" + ] + } + ], + "x-codegen-request-body-name": "OBWriteInternationalScheduled3Param" + } + }, + "/international-scheduled-payments/{InternationalScheduledPaymentId}": { + "get": { + "tags": [ + "International Scheduled Payments" + ], + "summary": "Get International Scheduled Payments", + "operationId": "GetInternationalScheduledPaymentsInternationalScheduledPaymentId", + "parameters": [ + { + "name": "InternationalScheduledPaymentId", + "in": "path", + "description": "InternationalScheduledPaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "International Scheduled Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "InternationalScheduledPaymentId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "InternationalScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international scheduled payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to identify a person or an organisation." + }, + "Agent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." + }, + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + } + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "InternationalScheduledPaymentId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "InternationalScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international scheduled payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Refund": { - "type": "object", - "additionalProperties": false, "required": [ "Account" ], + "type": "object", "properties": { "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to identify a person or an organisation." + }, + "Agent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." + }, + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + } + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "ExchangeRateInformation": { + "required": [ + "ExchangeRate", + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "InstructionPriority": { + "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -35657,99 +67206,97 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party to which an amount of money is due." }, - "Agent": { + "CreditorAgent": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution.", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BICFI" ] }, "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." }, "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -35762,708 +67309,1296 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/international-scheduled-payments/{InternationalScheduledPaymentId}/payment-details": { + "get": { + "tags": [ + "Payment Details" + ], + "summary": "Get Payment Details", + "operationId": "GetInternationalScheduledPaymentsInternationalScheduledPaymentIdPaymentDetails", + "parameters": [ + { + "name": "InternationalScheduledPaymentId", + "in": "path", + "description": "InternationalScheduledPaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "PaymentStatus": { + "type": "array", + "items": { + "required": [ + "PaymentTransactionId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "PaymentTransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "Status": { + "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", + "enum": [ + "Accepted", + "AcceptedCancellationRequest", + "AcceptedCreditSettlementCompleted", + "AcceptedCustomerProfile", + "AcceptedFundsChecked", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedTechnicalValidation", + "AcceptedWithChange", + "AcceptedWithoutPosting", + "Cancelled", + "NoCancellationProcess", + "PartiallyAcceptedCancellationRequest", + "PartiallyAcceptedTechnicalCorrect", + "PaymentCancelled", + "Pending", + "PendingCancellationRequest", + "Received", + "Rejected", + "RejectedCancellationRequest" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatusDetail": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." + }, + "StatusReason": { + "type": "string", + "description": "Reason Code provided for the status of a transfer.", + "enum": [ + "Cancelled", + "PendingFailingSettlement", + "PendingSettlement", + "Proprietary", + "ProprietaryRejection", + "Suspended", + "Unmatched" + ] + }, + "StatusReasonDescription": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Reason provided for the status of a transfer." } - } - } - }, - "Account": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify an account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } + "description": "Payment status details as per underlying Payment Rail." } - } + }, + "description": "Payment status details." } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" }, - "Charges": { + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "PaymentStatus": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ - "ChargeBearer", - "Type", - "Amount" + "PaymentTransactionId", + "Status", + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "PaymentTransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "Status": { "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" + "Accepted", + "AcceptedCancellationRequest", + "AcceptedCreditSettlementCompleted", + "AcceptedCustomerProfile", + "AcceptedFundsChecked", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedTechnicalValidation", + "AcceptedWithChange", + "AcceptedWithoutPosting", + "Cancelled", + "NoCancellationProcess", + "PartiallyAcceptedCancellationRequest", + "PartiallyAcceptedTechnicalCorrect", + "PaymentCancelled", + "Pending", + "PendingCancellationRequest", + "Received", + "Rejected", + "RejectedCancellationRequest" ] }, - "Type": { - "description": "Charge type, in a coded form.", + "StatusUpdateDateTime": { "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.CHAPSOut" - ] + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "Amount": { - "type": "object", - "additionalProperties": false, + "StatusDetail": { "required": [ - "Amount", - "Currency" + "Status" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "LocalInstrument": { "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "Status": { + "maxLength": 128, + "minLength": 1, "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "ExchangeRate", - "RateType" - ], - "description": "Further detailed information on the exchange rate that has been used in the payment transaction.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "ExpirationDateTime": { - "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", - "type": "string", - "enum": [ - "Normal", - "Urgent" - ] - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } + "description": "Status of a transfer, as assigned by the transaction administrator." + }, + "StatusReason": { + "type": "string", + "description": "Reason Code provided for the status of a transfer.", + "enum": [ + "Cancelled", + "PendingFailingSettlement", + "PendingSettlement", + "Proprietary", + "ProprietaryRejection", + "Suspended", + "Unmatched" + ] + }, + "StatusReasonDescription": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Reason provided for the status of a transfer." } - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } + "description": "Payment status details as per underlying Payment Rail." } }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - }, - "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Status" - ], - "description": "The multiple authorisation flow response from the ASPSP.", - "properties": { - "Status": { - "description": "Specifies the status of the authorisation flow in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingFurtherAuthorisation", - "Rejected" - ] - }, - "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" - }, - "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" - }, - "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "Debtor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", - "minLength": 0, - "maxLength": 140 - } + "description": "Payment status details." } } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -36486,31 +68621,28 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -36519,6 +68651,464 @@ }, "400": { "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -36526,46 +69116,165 @@ "type": "string" } }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { + "type": "string", "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -36597,442 +69306,739 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/international-standing-order-consents": { + "post": { + "tags": [ + "International Standing Orders" + ], + "summary": "Create International Standing Order Consents", + "operationId": "CreateInternationalStandingOrderConsents", + "parameters": [ + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } + }, + { + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation", + "Permission" + ], + "type": "object", + "properties": { + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the debtor account." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", + "CompletionDateTime": { "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 + "description": "The authorisation type request from the TPP." }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { + "SCASupportData": { "type": "object", - "additionalProperties": false, "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "RequestedSCAExemptionType": { "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" ] }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", + "AppliedAuthenticationApproach": { "type": "string", - "minLength": 1, - "maxLength": 500 + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "ReferencePaymentOrderId": { + "maxLength": 128, "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], "type": "object", - "additionalProperties": false, "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] + "description": "Name of a street or thoroughfare." }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } } } - } - } - }, - "security": [ - { - "PSUOAuth2Security": [ - "payments" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { + }, + "application/jose+jwe": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "ConsentId", - "Initiation" + "Initiation", + "Permission" ], + "type": "object", "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", + "Permission": { "type": "string", - "minLength": 1, - "maxLength": 128 + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", + "CreditorAccount", "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "Reference": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "FirstPaymentDateTime": { "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "FinalPaymentDateTime": { "type": "string", - "enum": [ - "Normal", - "Urgent" - ] + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -37040,136 +70046,193 @@ "Shared" ] }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "pattern": "[A-Z]{2,2}", "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, + "DebtorAccount": { "required": [ - "UnitCurrency", - "RateType" + "Identification", + "SchemeName" ], - "description": "Provides details on the currency exchange rate and contract.", + "type": "object", "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", + "SchemeName": { "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", + "Name": { + "maxLength": 350, + "minLength": 1, "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the debtor account." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party to which an amount of money is due." }, - "DebtorAccount": { + "CreditorAgent": { "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" + "UK.OBIE.BICFI" ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Unique and unambiguous identification of the servicing institution." }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -37182,743 +70245,1051 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "International Standing Order Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Permission", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "Type": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] + }, + "Amount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the debtor account." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", + "SubDepartment": { + "maxLength": 70, + "minLength": 1, "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, - "minItems": 0, - "maxItems": 7 - } + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } + "description": "Provides the details to identify the beneficiary account." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" } }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." } } - } - }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", - "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - } + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } - } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" } - } - } - } - } - }, - "required": true - } - } - }, - "/international-scheduled-payments/{InternationalScheduledPaymentId}": { - "get": { - "tags": [ - "International Scheduled Payments" - ], - "summary": "Get International Scheduled Payments", - "operationId": "GetInternationalScheduledPaymentsInternationalScheduledPaymentId", - "parameters": [ - { - "name": "InternationalScheduledPaymentId", - "in": "path", - "description": "InternationalScheduledPaymentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "International Scheduled Payments Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" + } } - } - }, - "content": { - "application/json": { + }, + "application/jose+jwe": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ - "Data" + "Data", + "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "InternationalScheduledPaymentId", "ConsentId", "CreationDateTime", + "Initiation", + "Permission", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "InternationalScheduledPaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international scheduled payment resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of the payment order resource.", "type": "string", + "description": "Specifies the status of resource in code form.", "enum": [ - "Cancelled", - "InitiationCompleted", - "InitiationFailed", - "InitiationPending" + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Permission": { "type": "string", - "format": "date-time" + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "ReadRefundAccount": { "type": "string", - "format": "date-time" + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] }, - "Refund": { - "type": "object", - "additionalProperties": false, - "required": [ - "Account" - ], - "properties": { - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "Agent": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - } - } - }, - "Account": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify an account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - } + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -37927,142 +71298,88 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "ExchangeRate", - "RateType" - ], - "description": "Further detailed information on the exchange rate that has been used in the payment transaction.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 }, - "ExpirationDateTime": { - "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", + "CreditorAccount", "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "Reference": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "FirstPaymentDateTime": { "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "FinalPaymentDateTime": { "type": "string", - "enum": [ - "Normal", - "Urgent" - ] + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -38070,89 +71387,46 @@ "Shared" ] }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "pattern": "[A-Z]{2,2}", "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 256 + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -38162,44 +71436,41 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the debtor account." }, "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -38212,99 +71483,97 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party to which an amount of money is due." }, "CreditorAgent": { "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BICFI" ] }, "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -38317,80 +71586,80 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -38400,108 +71669,192 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the beneficiary account." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] }, - "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { "required": [ - "Status" + "Country", + "TownName" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { - "Status": { - "description": "Specifies the status of the authorisation flow in code form.", + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, "type": "string", - "enum": [ - "Authorised", - "AwaitingFurtherAuthorisation", - "Rejected" - ] + "description": "Name of a street or thoroughfare." }, - "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." }, - "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, - "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Name of a built-up area, with defined boundaries, and a local government." }, - "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, "type": "string", - "format": "date-time" - } - } - }, - "Debtor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", - "minLength": 0, - "maxLength": 140 + "description": "Nation with its own government, occupying a particular territory." } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } - } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -38524,31 +71877,28 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -38558,52 +71908,60 @@ "400": { "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -38635,37 +71993,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -38679,57 +72119,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -38761,37 +72210,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -38805,7 +72336,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -38816,7 +72348,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -38827,27 +72360,23 @@ "type": "string" } } - } + }, + "content": {} }, - "429": { - "description": "Too Many Requests", + "415": { + "description": "Unsupported Media Type", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } - } + }, + "content": {} }, - "500": { - "description": "Internal Server Error", + "429": { + "description": "Too Many Requests", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -38855,46 +72384,72 @@ "type": "string" } }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -38926,37 +72481,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -38968,68 +72605,65 @@ "payments" ] } - ] + ], + "x-codegen-request-body-name": "OBWriteInternationalStandingOrderConsent6Param" } }, - "/international-scheduled-payments/{InternationalScheduledPaymentId}/payment-details": { + "/international-standing-order-consents/{ConsentId}": { "get": { "tags": [ - "Payment Details" + "International Standing Orders" ], - "summary": "Get Payment Details", - "operationId": "GetInternationalScheduledPaymentsInternationalScheduledPaymentIdPaymentDetails", + "summary": "Get International Standing Order Consents", + "operationId": "GetInternationalStandingOrderConsentsConsentId", "parameters": [ { - "name": "InternationalScheduledPaymentId", + "name": "ConsentId", "in": "path", - "description": "InternationalScheduledPaymentId", + "description": "ConsentId", "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-auth-date", - "required": false, + "in": "header", "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" } }, { - "in": "header", "name": "x-fapi-customer-ip-address", - "required": false, + "in": "header", "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", "schema": { "type": "string" } }, { - "in": "header", "name": "x-fapi-interaction-id", - "required": false, + "in": "header", "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } }, { - "in": "header", "name": "Authorization", - "required": true, + "in": "header", "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, "schema": { "type": "string" } }, { - "in": "header", "name": "x-customer-user-agent", + "in": "header", "description": "Indicates the user-agent that the PSU is using.", - "required": false, "schema": { "type": "string" } @@ -39037,145 +72671,665 @@ ], "responses": { "200": { - "description": "Payment Details Read", + "description": "International Standing Order Consents Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ - "Data" + "Data", + "Risk" ], + "type": "object", "properties": { "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Permission", + "Status", + "StatusUpdateDateTime" + ], "type": "object", - "additionalProperties": false, "properties": { - "PaymentStatus": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Payment status details.", "required": [ - "PaymentTransactionId", - "Status", - "StatusUpdateDateTime" + "Amount", + "ChargeBearer", + "Type" ], + "type": "object", "properties": { - "PaymentTransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "Status": { - "description": "Status of a transfe, as assigned by the transaction administrator.", + "ChargeBearer": { "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ - "Accepted", - "AcceptedCancellationRequest", - "AcceptedCreditSettlementCompleted", - "AcceptedCustomerProfile", - "AcceptedFundsChecked", - "AcceptedSettlementCompleted", - "AcceptedSettlementInProcess", - "AcceptedTechnicalValidation", - "AcceptedWithChange", - "AcceptedWithoutPosting", - "Cancelled", - "NoCancellationProcess", - "PartiallyAcceptedCancellationRequest", - "PartiallyAcceptedTechnicalCorrect", - "PaymentCancelled", - "Pending", - "PendingCancellationRequest", - "Received", - "Rejected", - "RejectedCancellationRequest" + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" ] }, - "StatusUpdateDateTime": { - "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Type": { "type": "string", - "format": "date-time" + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] }, - "StatusDetail": { - "type": "object", - "additionalProperties": false, + "Amount": { "required": [ - "Status" + "Amount", + "Currency" ], - "description": "Payment status details as per underlying Payment Rail.", + "type": "object", "properties": { - "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "Status": { - "description": "Status of a transfer, as assigned by the transaction administrator.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "minLength": 1, - "maxLength": 128 + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the debtor account." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } }, - "StatusReason": { - "description": "Reason Code provided for the status of a transfer.", - "type": "string", - "enum": [ - "Cancelled", - "PendingFailingSettlement", - "PendingSettlement", - "Proprietary", - "ProprietaryRejection", - "Suspended", - "Unmatched" - ] + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } }, - "StatusReasonDescription": { - "description": "Reason provided for the status of a transfer.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } + }, + "description": "Provides the details to identify the beneficiary account." + }, + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } + }, + "description": "Set of elements used to identify a person or an organisation." + } + } + }, + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } - } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -39198,581 +73352,65 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 }, - "type": "array", - "minItems": 1 + "description": "Meta Data relevant to the payload" } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/international-standing-order-consents": { - "post": { - "tags": [ - "International Standing Orders" - ], - "summary": "Create International Standing Order Consents", - "operationId": "CreateInternationalStandingOrderConsents", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } - }, - { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "A detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "International Standing Order Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", - "Status", - "StatusUpdateDateTime", + "Initiation", "Permission", - "Initiation" + "Status", + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of resource in code form.", "type": "string", + "description": "Specifies the status of resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", @@ -39781,45 +73419,43 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Permission": { - "description": "Specifies the Open Banking service request types.", "type": "string", + "description": "Specifies the Open Banking service request types.", "enum": [ "Create" ] }, "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", "type": "string", + "description": "Specifies to share the refund account details with PISP", "enum": [ "No", "Yes" ] }, "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -39828,90 +73464,88 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "Frequency", - "FirstPaymentDateTime", + "CreditorAccount", "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order.", + "type": "object", "properties": { "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." }, "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -39920,48 +73554,45 @@ ] }, "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "pattern": "[A-Z]{2,2}", "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the debtor account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -39971,44 +73602,41 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the debtor account." }, "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -40021,99 +73649,97 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party to which an amount of money is due." }, "CreditorAgent": { "type": "object", - "additionalProperties": false, - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BICFI" ] }, "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -40126,80 +73752,80 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Provides the details to identify the beneficiary account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -40209,64 +73835,61 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the beneficiary account." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -40278,44 +73901,42 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Risk": { "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", "properties": { "PaymentContextCode": { - "description": "Specifies the payment context", "type": "string", + "description": "Specifies the payment context", "enum": [ "BillPayment", "EcommerceGoods", @@ -40325,80 +73946,81 @@ ] }, "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", + "maxLength": 4, "minLength": 3, - "maxLength": 4 + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." }, "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." }, "DeliveryAddress": { - "type": "object", - "additionalProperties": false, "required": [ - "TownName", - "Country" + "Country", + "TownName" ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", + "type": "object", "properties": { "AddressLine": { + "maxItems": 2, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government, occupying a particular territory." } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } - } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -40421,39 +74043,494 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } } } }, - "400": { - "description": "Bad request", + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -40461,46 +74538,72 @@ "type": "string" } }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500": { + "description": "Internal Server Error", + "headers": { "x-jws-signature": { "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -40532,101 +74635,68 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -40658,314 +74728,666 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/international-standing-orders": { + "post": { + "tags": [ + "International Standing Orders" + ], + "summary": "Create International Standing Orders", + "operationId": "CreateInternationalStandingOrders", + "parameters": [ + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } + }, + { + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the debtor account." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Unsupported Media Type", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { + "Risk": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] + }, + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], "type": "object", - "additionalProperties": false, "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] + "description": "Name of a street or thoroughfare." }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", + "TownName": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." } }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } } } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { + }, + "application/jose+jwe": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "Permission", + "ConsentId", "Initiation" ], + "type": "object", "properties": { - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", + "ConsentId": { + "maxLength": 128, + "minLength": 1, "type": "string", - "enum": [ - "No", - "Yes" - ] + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "Frequency", - "FirstPaymentDateTime", + "CreditorAccount", "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order.", + "type": "object", "properties": { "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." }, "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -40974,48 +75396,45 @@ ] }, "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "pattern": "[A-Z]{2,2}", "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the debtor account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -41025,44 +75444,41 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the debtor account." }, "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -41075,99 +75491,97 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party to which an amount of money is due." }, "CreditorAgent": { "type": "object", - "additionalProperties": false, - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BICFI" ] }, "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -41180,80 +75594,80 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Provides the details to identify the beneficiary account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -41263,100 +75677,41 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the beneficiary account." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } - }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] - }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", - "minLength": 1, - "maxLength": 128 - } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." } } }, "Risk": { "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", "properties": { "PaymentContextCode": { - "description": "Specifies the payment context", "type": "string", + "description": "Specifies the payment context", "enum": [ "BillPayment", "EcommerceGoods", @@ -41366,248 +75721,404 @@ ] }, "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", + "maxLength": 4, "minLength": 3, - "maxLength": 4 + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." }, "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", - "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - } - } - } - } - } - } - } - } - }, - "required": true - } - } - }, - "/international-standing-order-consents/{ConsentId}": { - "get": { - "tags": [ - "International Standing Orders" - ], - "summary": "Get International Standing Order Consents", - "operationId": "GetInternationalStandingOrderConsentsConsentId", - "parameters": [ - { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." + } + }, + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." + } + } + } } }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], + "required": true + }, "responses": { - "200": { - "description": "International Standing Order Consents Read", + "201": { + "description": "International Standing Orders Created", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ - "Data", - "Risk" + "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", + "Initiation", + "InternationalStandingOrderId", "Status", - "StatusUpdateDateTime", - "Permission", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", + "InternationalStandingOrderId": { + "maxLength": 40, + "minLength": 1, "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international standing order resource." + }, + "ConsentId": { + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of resource in code form.", "type": "string", + "description": "Specifies the status of resource in code form.", "enum": [ - "Authorised", - "AwaitingAuthorisation", - "Consumed", - "Rejected" + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to identify a person or an organisation." + }, + "Agent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." + }, + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." + } + } }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -41616,90 +76127,88 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "Frequency", - "FirstPaymentDateTime", + "CreditorAccount", "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order.", + "type": "object", "properties": { "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." }, "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -41708,48 +76217,45 @@ ] }, "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "pattern": "[A-Z]{2,2}", "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the debtor account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -41759,44 +76265,41 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the debtor account." }, "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -41809,99 +76312,97 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party to which an amount of money is due." }, "CreditorAgent": { "type": "object", - "additionalProperties": false, - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BICFI" ] }, "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -41914,80 +76415,80 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Provides the details to identify the beneficiary account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -41997,798 +76498,174 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the beneficiary account." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." }, - "Authorisation": { - "type": "object", - "additionalProperties": false, + "MultiAuthorisation": { "required": [ - "AuthorisationType" + "Status" ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] - }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", - "minLength": 1, - "maxLength": 128 - } - } - }, - "Debtor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", - "minLength": 0, - "maxLength": 140 - } - } - } - } - }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", + "Status": { "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", + "LastUpdateDateTime": { "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", + "ExpirationDateTime": { "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", "format": "uri" }, "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - } - } - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "403": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - }, - "404": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "additionalProperties": false, - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/international-standing-orders": { - "post": { - "tags": [ - "International Standing Orders" - ], - "summary": "Create International Standing Orders", - "operationId": "CreateInternationalStandingOrders", - "parameters": [ - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } - }, - { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "A detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "201": { - "description": "International Standing Orders Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" + } + } } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "application/jose+jwe": { "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "InternationalStandingOrderId", "ConsentId", "CreationDateTime", + "Initiation", + "InternationalStandingOrderId", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "InternationalStandingOrderId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international standing order resource.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international standing order resource." }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of resource in code form.", "type": "string", + "description": "Specifies the status of resource in code form.", "enum": [ "Cancelled", "InitiationCompleted", @@ -42797,36 +76674,31 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Refund": { - "type": "object", - "additionalProperties": false, "required": [ "Account" ], + "type": "object", "properties": { "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -42839,99 +76711,97 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Set of elements used to identify a person or an organisation." }, "Agent": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution.", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BICFI" ] }, "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." }, "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -42944,80 +76814,80 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." }, "Account": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Provides the details to identify an account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -43027,42 +76897,41 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify an account." } } }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -43071,90 +76940,88 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "Frequency", - "FirstPaymentDateTime", + "CreditorAccount", "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order.", + "type": "object", "properties": { "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." }, "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -43163,48 +77030,45 @@ ] }, "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "pattern": "[A-Z]{2,2}", "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the debtor account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -43214,44 +77078,41 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the debtor account." }, "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -43264,99 +77125,97 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party to which an amount of money is due." }, "CreditorAgent": { "type": "object", - "additionalProperties": false, - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BICFI" ] }, "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -43369,80 +77228,80 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Provides the details to identify the beneficiary account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -43452,44 +77311,42 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the beneficiary account." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." }, "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, "required": [ "Status" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { "Status": { - "description": "Specifies the status of the authorisation flow in code form.", "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ "Authorised", "AwaitingFurtherAuthorisation", @@ -43497,44 +77354,45 @@ ] }, "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." }, "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" + "type": "integer", + "description": "Number of authorisations received." }, "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -43557,31 +77415,28 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -43591,52 +77446,60 @@ "400": { "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -43668,37 +77531,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -43712,57 +77657,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -43794,37 +77748,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -43838,7 +77874,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -43849,7 +77886,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -43860,7 +77898,8 @@ "type": "string" } } - } + }, + "content": {} }, "415": { "description": "Unsupported Media Type", @@ -43871,74 +77910,84 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -43970,37 +78019,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -44013,629 +78144,938 @@ ] } ], - "requestBody": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Frequency", - "FirstPaymentDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order.", - "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the debtor account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Country": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" + "x-codegen-request-body-name": "OBWriteInternationalStandingOrder4Param" + } + }, + "/international-standing-orders/{InternationalStandingOrderPaymentId}": { + "get": { + "tags": [ + "International Standing Orders" + ], + "summary": "Get International Standing Orders", + "operationId": "GetInternationalStandingOrdersInternationalStandingOrderPaymentId", + "parameters": [ + { + "name": "InternationalStandingOrderPaymentId", + "in": "path", + "description": "InternationalStandingOrderPaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "International Standing Orders Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "InternationalStandingOrderId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "InternationalStandingOrderId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international standing order resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of resource in code form.", + "enum": [ + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", + "description": "Information that locates and identifies a specific address, as defined by postal services." + } + }, + "description": "Set of elements used to identify a person or an organisation." + }, + "Agent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, - "minItems": 0, - "maxItems": 7 - } + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." + }, + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify an account." } - }, - "CreditorAgent": { + } + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], "type": "object", - "additionalProperties": false, - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", + "ChargeBearer": { "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" ] }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", + "Type": { "type": "string", - "minLength": 1, - "maxLength": 140 + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] }, - "PostalAddress": { + "Amount": { + "required": [ + "Amount", + "Currency" + ], "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { - "AddressType": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "Country": { - "description": "Nation with its own government.", + "Currency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money associated with the charge type." + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the debtor account." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, - "minItems": 0, - "maxItems": 7 - } + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify the beneficiary account.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] + }, + "Identification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." + }, + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." + }, + "PostalAddress": { + "type": "object", + "properties": { + "AddressType": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] + }, + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." + } }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - }, - "SupplementaryData": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - } - } - } - } - }, - "Risk": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, - "required": [ - "TownName", - "Country" - ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", - "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Provides the details to identify the beneficiary account." }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 + "SupplementaryData": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." + } }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." + } }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - } + "description": "Set of elements used to identify a person or an organisation." } } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" } } } - } - } - }, - "required": true - } - } - }, - "/international-standing-orders/{InternationalStandingOrderPaymentId}": { - "get": { - "tags": [ - "International Standing Orders" - ], - "summary": "Get International Standing Orders", - "operationId": "GetInternationalStandingOrdersInternationalStandingOrderPaymentId", - "parameters": [ - { - "name": "InternationalStandingOrderPaymentId", - "in": "path", - "description": "InternationalStandingOrderPaymentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "International Standing Orders Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "InternationalStandingOrderId", "ConsentId", "CreationDateTime", + "Initiation", + "InternationalStandingOrderId", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "InternationalStandingOrderId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international standing order resource.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international standing order resource." }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of resource in code form.", "type": "string", + "description": "Specifies the status of resource in code form.", "enum": [ "Cancelled", "InitiationCompleted", @@ -44644,36 +79084,31 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Refund": { - "type": "object", - "additionalProperties": false, "required": [ "Account" ], + "type": "object", "properties": { "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -44686,99 +79121,97 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Set of elements used to identify a person or an organisation." }, "Agent": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution.", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BICFI" ] }, "Identification": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." }, "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -44791,80 +79224,80 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." }, "Account": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Provides the details to identify an account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -44874,42 +79307,41 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify an account." } } }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -44918,90 +79350,88 @@ ] }, "Type": { - "description": "Charge type, in a coded form.", "type": "string", + "description": "Charge type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.CHAPSOut" ] }, "Amount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the charge type.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money associated with the charge type." } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "Frequency", - "FirstPaymentDateTime", + "CreditorAccount", "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order.", + "type": "object", "properties": { "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." }, "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, "ChargeBearer": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", "enum": [ "BorneByCreditor", "BorneByDebtor", @@ -45010,48 +79440,45 @@ ] }, "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "pattern": "[A-Z]{2,2}", "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the debtor account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -45061,44 +79488,41 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the debtor account." }, "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -45111,99 +79535,97 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party to which an amount of money is due." }, "CreditorAgent": { "type": "object", - "additionalProperties": false, - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BICFI" ] }, "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, "PostalAddress": { "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -45216,80 +79638,80 @@ ] }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of a street or thoroughfare." }, "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Number that identifies the position of a building on a street." }, "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", + "maxLength": 16, "minLength": 1, - "maxLength": 16 + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." }, "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Provides the details to identify the beneficiary account.", + "type": "object", "properties": { "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -45299,44 +79721,42 @@ ] }, "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." } - } + }, + "description": "Provides the details to identify the beneficiary account." }, "SupplementaryData": { "type": "object", - "additionalProperties": true, - "properties": {}, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." }, "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, "required": [ "Status" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { "Status": { - "description": "Specifies the status of the authorisation flow in code form.", "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ "Authorised", "AwaitingFurtherAuthorisation", @@ -45344,44 +79764,45 @@ ] }, "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." }, "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" + "type": "integer", + "description": "Number of authorisations received." }, "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", + "maxLength": 350, "minLength": 0, - "maxLength": 140 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } - } + }, + "description": "Set of elements used to identify a person or an organisation." } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -45404,86 +79825,184 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } + }, + "description": "Meta Data relevant to the payload" + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } } } - } - } - } - } - }, - "400": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "application/jose+jwe": { "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -45515,37 +80034,26 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -45559,57 +80067,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -45641,37 +80158,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -45685,7 +80284,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -45696,7 +80296,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -45707,74 +80308,84 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -45806,166 +80417,408 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + } + } + } + }, + "security": [ + { + "TPPOAuth2Security": [ + "payments" + ] + } + ] + } + }, + "/international-standing-orders/{InternationalStandingOrderPaymentId}/payment-details": { + "get": { + "tags": [ + "Payment Details" + ], + "summary": "Get Payment Details", + "operationId": "GetInternationalStandingOrdersInternationalStandingOrderPaymentIdPaymentDetails", + "parameters": [ + { + "name": "InternationalStandingOrderPaymentId", + "in": "path", + "description": "InternationalStandingOrderPaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "PaymentStatus": { + "type": "array", + "items": { + "required": [ + "PaymentTransactionId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "PaymentTransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "Status": { + "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", + "enum": [ + "Accepted", + "AcceptedCancellationRequest", + "AcceptedCreditSettlementCompleted", + "AcceptedCustomerProfile", + "AcceptedFundsChecked", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedTechnicalValidation", + "AcceptedWithChange", + "AcceptedWithoutPosting", + "Cancelled", + "NoCancellationProcess", + "PartiallyAcceptedCancellationRequest", + "PartiallyAcceptedTechnicalCorrect", + "PaymentCancelled", + "Pending", + "PendingCancellationRequest", + "Received", + "Rejected", + "RejectedCancellationRequest" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatusDetail": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "LocalInstrument": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." + }, + "StatusReason": { + "type": "string", + "description": "Reason Code provided for the status of a transfer.", + "enum": [ + "Cancelled", + "PendingFailingSettlement", + "PendingSettlement", + "Proprietary", + "ProprietaryRejection", + "Suspended", + "Unmatched" + ] + }, + "StatusReasonDescription": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Reason provided for the status of a transfer." + } + }, + "description": "Payment status details as per underlying Payment Rail." + } + }, + "description": "Payment status details." } + } + } + }, + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" }, - "required": [ - "ErrorCode", - "Message" - ], - "minProperties": 1 + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } }, - "type": "array", - "minItems": 1 + "description": "Links relevant to the payload" + }, + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LastAvailableDateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Meta Data relevant to the payload" } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - } - } - } - } - }, - "security": [ - { - "TPPOAuth2Security": [ - "payments" - ] - } - ] - } - }, - "/international-standing-orders/{InternationalStandingOrderPaymentId}/payment-details": { - "get": { - "tags": [ - "Payment Details" - ], - "summary": "Get Payment Details", - "operationId": "GetInternationalStandingOrdersInternationalStandingOrderPaymentIdPaymentDetails", - "parameters": [ - { - "name": "InternationalStandingOrderPaymentId", - "in": "path", - "description": "InternationalStandingOrderPaymentId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Payment Details Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + } } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/jose+jwe": { "schema": { - "type": "object", - "additionalProperties": false, "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", - "additionalProperties": false, "properties": { "PaymentStatus": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Payment status details.", "required": [ "PaymentTransactionId", "Status", "StatusUpdateDateTime" ], + "type": "object", "properties": { "PaymentTransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", - "type": "string", + "maxLength": 210, "minLength": 1, - "maxLength": 210 + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." }, "Status": { - "description": "Status of a transfe, as assigned by the transaction administrator.", "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", "enum": [ "Accepted", "AcceptedCancellationRequest", @@ -45990,21 +80843,19 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "StatusDetail": { - "type": "object", - "additionalProperties": false, "required": [ "Status" ], - "description": "Payment status details as per underlying Payment Rail.", + "type": "object", "properties": { "LocalInstrument": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", "x-namespaced-enum": [ "UK.OBIE.BACS", "UK.OBIE.BalanceTransfer", @@ -46021,14 +80872,14 @@ ] }, "Status": { - "description": "Status of a transfer, as assigned by the transaction administrator.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." }, "StatusReason": { - "description": "Reason Code provided for the status of a transfer.", "type": "string", + "description": "Reason Code provided for the status of a transfer.", "enum": [ "Cancelled", "PendingFailingSettlement", @@ -46040,22 +80891,25 @@ ] }, "StatusReasonDescription": { - "description": "Reason provided for the status of a transfer.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Reason provided for the status of a transfer." } - } + }, + "description": "Payment status details as per underlying Payment Rail." } - } + }, + "description": "Payment status details." } } } }, "Links": { + "required": [ + "Self" + ], "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -46078,31 +80932,28 @@ "format": "uri" } }, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", "format": "int32" }, "FirstAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "LastAvailableDateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "Meta Data relevant to the payload" } } } @@ -46112,52 +80963,60 @@ "400": { "description": "Bad request", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -46189,37 +81048,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -46233,57 +81174,66 @@ "type": "string" } } - } + }, + "content": {} }, "403": { "description": "Forbidden", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -46315,37 +81265,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } @@ -46359,7 +81391,8 @@ "type": "string" } } - } + }, + "content": {} }, "405": { "description": "Method Not Allowed", @@ -46370,7 +81403,8 @@ "type": "string" } } - } + }, + "content": {} }, "406": { "description": "Not Acceptable", @@ -46381,74 +81415,84 @@ "type": "string" } } - } + }, + "content": {} }, "429": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500": { "description": "Internal Server Error", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", + "required": [ + "Code", + "Errors", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", - "additionalProperties": false, "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -46480,37 +81524,119 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + } + }, + "application/jose+jwe": { + "schema": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { "required": [ "ErrorCode", "Message" ], - "minProperties": 1 - }, - "type": "array", - "minItems": 1 + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + } } }, - "required": [ - "Code", - "Message", - "Errors" - ] + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." } } } diff --git a/dist/openapi/account-info-openapi.json b/dist/openapi/account-info-openapi.json index 28588a88..8e953110 100644 --- a/dist/openapi/account-info-openapi.json +++ b/dist/openapi/account-info-openapi.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Account and Transaction API Specification", - "description": "OpenAPI for Account and Transaction API Specification", + "description": "Swagger for Account and Transaction API Specification", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,8 +12,13 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1/aisp" + } + ], "paths": { "/account-access-consents": { "post": { @@ -24,48 +29,247 @@ "operationId": "CreateAccountAccessConsents", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadConsent1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadConsent1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadConsent1" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201AccountAccessConsentsCreated" + "description": "Account Access Consents Created", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadConsentResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadConsentResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadConsentResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -75,9 +279,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBReadConsent1Param" - } + "x-codegen-request-body-name": "OBReadConsent1Param" } }, "/account-access-consents/{ConsentId}": { @@ -89,48 +291,223 @@ "operationId": "GetAccountAccessConsentsConsentId", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountAccessConsentsConsentIdRead" + "description": "Account Access Consents Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadConsentResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadConsentResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadConsentResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -149,48 +526,207 @@ "operationId": "DeleteAccountAccessConsentsConsentId", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "204": { - "$ref": "#/components/responses/204AccountAccessConsentsConsentIdDeleted" + "description": "Account Access Consents Deleted", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -211,45 +747,214 @@ "operationId": "GetAccounts", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsRead" + "description": "Accounts Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadAccount6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadAccount6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadAccount6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" - }, - "401": { - "$ref": "#/components/responses/401Error" - }, - "403": { - "$ref": "#/components/responses/403Error" - }, - "405": { - "$ref": "#/components/responses/405Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -270,48 +975,223 @@ "operationId": "GetAccountsAccountId", "parameters": [ { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdRead" + "description": "Accounts Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadAccount6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadAccount6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadAccount6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -332,48 +1212,223 @@ "operationId": "GetAccountsAccountIdBalances", "parameters": [ { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdBalancesRead" + "description": "Balances Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadBalance1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadBalance1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadBalance1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -394,51 +1449,235 @@ "operationId": "GetAccountsAccountIdBeneficiaries", "parameters": [ { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdBeneficiariesRead" + "description": "Beneficiaries Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadBeneficiary5" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadBeneficiary5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadBeneficiary5" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" - }, - "429": { - "$ref": "#/components/responses/429Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -459,51 +1698,235 @@ "operationId": "GetAccountsAccountIdDirectDebits", "parameters": [ { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdDirectDebitsRead" + "description": "Direct Debits Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadDirectDebit2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadDirectDebit2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadDirectDebit2" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -524,51 +1947,235 @@ "operationId": "GetAccountsAccountIdOffers", "parameters": [ { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdOffersRead" + "description": "Offers Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadOffer1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadOffer1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadOffer1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -589,51 +2196,235 @@ "operationId": "GetAccountsAccountIdParties", "parameters": [ { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdPartiesRead" + "description": "Parties Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadParty3" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadParty3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadParty3" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -654,51 +2445,235 @@ "operationId": "GetAccountsAccountIdParty", "parameters": [ { - "$ref": "#/components/parameters/AccountId" - }, - { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdPartyRead" + "description": "Parties Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadParty2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadParty2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadParty2" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -719,51 +2694,235 @@ "operationId": "GetAccountsAccountIdProduct", "parameters": [ { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdProductRead" + "description": "Products Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadProduct2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadProduct2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadProduct2" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -784,51 +2943,235 @@ "operationId": "GetAccountsAccountIdScheduledPayments", "parameters": [ { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdScheduledPaymentsRead" + "description": "Scheduled Payments Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadScheduledPayment3" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadScheduledPayment3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadScheduledPayment3" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -849,51 +3192,235 @@ "operationId": "GetAccountsAccountIdStandingOrders", "parameters": [ { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdStandingOrdersRead" + "description": "Standing Orders Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadStandingOrder6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadStandingOrder6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadStandingOrder6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" - }, - "401": { - "$ref": "#/components/responses/401Error" - }, + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -914,57 +3441,253 @@ "operationId": "GetAccountsAccountIdStatements", "parameters": [ { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/FromStatementDateTimeParam" + "name": "fromStatementDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter statements FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } }, { - "$ref": "#/components/parameters/ToStatementDateTimeParam" + "name": "toStatementDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter statements TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdStatementsRead" + "description": "Statements Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -985,54 +3708,244 @@ "operationId": "GetAccountsAccountIdStatementsStatementId", "parameters": [ { - "$ref": "#/components/parameters/StatementId" + "name": "StatementId", + "in": "path", + "description": "StatementId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdStatementsStatementIdRead" + "description": "Statements Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1053,54 +3966,244 @@ "operationId": "GetAccountsAccountIdStatementsStatementIdFile", "parameters": [ { - "$ref": "#/components/parameters/StatementId" + "name": "StatementId", + "in": "path", + "description": "StatementId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdStatementsStatementIdFileRead" + "description": "Statements Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/File" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/File" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/File" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1121,54 +4224,244 @@ "operationId": "GetAccountsAccountIdStatementsStatementIdTransactions", "parameters": [ { - "$ref": "#/components/parameters/StatementId" + "name": "StatementId", + "in": "path", + "description": "StatementId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdStatementsStatementIdTransactionsRead" + "description": "Transactions Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1189,54 +4482,241 @@ "operationId": "GetAccountsAccountIdTransactions", "parameters": [ { - "$ref": "#/components/parameters/AccountId" + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/FromBookingDateTimeParam" + "name": "fromBookingDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter transactions FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } }, { - "$ref": "#/components/parameters/ToBookingDateTimeParam" + "name": "toBookingDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter transactions TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200AccountsAccountIdTransactionsRead" + "description": "Transactions Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1257,49 +4737,227 @@ "operationId": "GetBalances", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200BalancesRead" + "description": "Balances Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadBalance1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadBalance1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadBalance1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" - } + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + } }, "security": [ { @@ -1319,48 +4977,226 @@ "operationId": "GetBeneficiaries", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200BeneficiariesRead" + "description": "Beneficiaries Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadBeneficiary5" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadBeneficiary5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadBeneficiary5" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1381,48 +5217,226 @@ "operationId": "GetDirectDebits", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200DirectDebitsRead" + "description": "Direct Debits Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadDirectDebit2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadDirectDebit2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadDirectDebit2" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1443,48 +5457,226 @@ "operationId": "GetOffers", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200OffersRead" + "description": "Offers Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadOffer1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadOffer1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadOffer1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1505,48 +5697,226 @@ "operationId": "GetParty", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200PartyRead" + "description": "Parties Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadParty2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadParty2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadParty2" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1567,48 +5937,226 @@ "operationId": "GetProducts", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200ProductsRead" + "description": "Products Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadProduct2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadProduct2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadProduct2" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1629,48 +6177,226 @@ "operationId": "GetScheduledPayments", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200ScheduledPaymentsRead" + "description": "Scheduled Payments Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadScheduledPayment3" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadScheduledPayment3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadScheduledPayment3" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1691,48 +6417,226 @@ "operationId": "GetStandingOrders", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200StandingOrdersRead" + "description": "Standing Orders Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadStandingOrder6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadStandingOrder6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadStandingOrder6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1753,54 +6657,244 @@ "operationId": "GetStatements", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/FromStatementDateTimeParam" + "name": "fromStatementDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter statements FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } }, { - "$ref": "#/components/parameters/ToStatementDateTimeParam" + "name": "toStatementDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter statements TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200StatementsRead" + "description": "Statements Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1821,54 +6915,244 @@ "operationId": "GetTransactions", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/FromBookingDateTimeParam" + "name": "fromBookingDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter transactions FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } }, { - "$ref": "#/components/parameters/ToBookingDateTimeParam" + "name": "toBookingDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter transactions TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200TransactionsRead" + "description": "Transactions Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1882,1203 +7166,575 @@ } }, "components": { - "parameters": { - "FromBookingDateTimeParam": { - "in": "query", - "name": "fromBookingDateTime", - "description": "The UTC ISO 8601 Date Time to filter transactions FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", - "schema": { - "type": "string", - "format": "date-time" - } + "schemas": { + "AccountId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner." }, - "ToBookingDateTimeParam": { - "in": "query", - "name": "toBookingDateTime", - "description": "The UTC ISO 8601 Date Time to filter transactions TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", - "schema": { - "type": "string", - "format": "date-time" - } + "ActiveOrHistoricCurrencyCode_0": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account." }, - "FromStatementDateTimeParam": { - "in": "query", - "name": "fromStatementDateTime", - "description": "The UTC ISO 8601 Date Time to filter statements FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", - "schema": { - "type": "string", - "format": "date-time" - } + "ActiveOrHistoricCurrencyCode_1": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." }, - "ToStatementDateTimeParam": { - "in": "query", - "name": "toStatementDateTime", - "description": "The UTC ISO 8601 Date Time to filter statements TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", - "schema": { - "type": "string", - "format": "date-time" - } + "AddressLine": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text." }, - "ConsentId": { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } + "BeneficiaryId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner." }, - "AccountId": { - "name": "AccountId", - "in": "path", - "description": "AccountId", - "required": true, - "schema": { - "type": "string" - } + "BookingDateTime": { + "type": "string", + "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "StatementId": { - "name": "StatementId", - "in": "path", - "description": "StatementId", - "required": true, - "schema": { - "type": "string" - } + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." }, - "Authorization": { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } + "CountryCode": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." }, - "x-customer-user-agent": { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country eg, state, region, county." }, - "x-fapi-customer-ip-address": { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "x-fapi-auth-date": { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } + "DateTime": { + "type": "string", + "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "x-fapi-interaction-id": { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "DebtorReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "A reference value provided by the PSU to the PISP while setting up the scheduled payment." }, - "x-idempotency-key": { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } + "Description_0": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Specifies the description of the account type." }, - "x-jws-signature": { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "A detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - } - }, - "requestBodies": { - "OBReadConsent1Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadConsent1" - } - } - }, - "required": true - } - }, - "responses": { - "201AccountAccessConsentsCreated": { - "description": "Account Access Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadConsentResponse1" - } - } - } + "Description_1": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement fee." }, - "200AccountAccessConsentsConsentIdRead": { - "description": "Account Access Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadConsentResponse1" - } - } - } + "Description_2": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Description that may be available for the statement interest." }, - "204AccountAccessConsentsConsentIdDeleted": { - "description": "Account Access Consents Deleted", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } + "Description_3": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Description to describe the purpose of the code" }, - "200AccountsRead": { - "description": "Accounts Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadAccount5" - } - } - } + "DirectDebitId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner." }, - "200AccountsAccountIdRead": { - "description": "Accounts Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadAccount5" - } - } - } + "EmailAddress": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Address for electronic mail (e-mail)." }, - "200AccountsAccountIdBalancesRead": { - "description": "Balances Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadBalance1" - } - } - } + "EndDateTime": { + "type": "string", + "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "200BalancesRead": { - "description": "Balances Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadBalance1" - } - } - } + "File": { + "type": "object" }, - "200AccountsAccountIdBeneficiariesRead": { - "description": "Beneficiaries Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadBeneficiary5" - } - } - } + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "200BeneficiariesRead": { - "description": "Beneficiaries Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadBeneficiary5" - } - } - } + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "200AccountsAccountIdDirectDebitsRead": { - "description": "Direct Debits Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadDirectDebit2" - } - } - } + "Frequency_0": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "200DirectDebitsRead": { - "description": "Direct Debits Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadDirectDebit2" - } - } - } + "Frequency_1": { + "pattern": "^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nNotKnown - Not Known\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlDay - An interval specified in number of calendar days (02 to 31)\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nIndividual Patterns:\nNotKnown (ScheduleCode)\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlDay:NoOfDay (ScheduleCode + NoOfDay)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nNotKnown\nEvryDay\nEvryWorkgDay\nIntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1])\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "200AccountsAccountIdOffersRead": { - "description": "Offers Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadOffer1" - } - } - } + "FullLegalName": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 350 characters." }, - "200OffersRead": { - "description": "Offers Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadOffer1" - } - } - } + "ISODateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "200AccountsAccountIdPartiesRead": { - "description": "Parties Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadParty3" - } - } - } + "Identification_0": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "200AccountsAccountIdPartyRead": { - "description": "Parties Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadParty2" - } - } - } + "Identification_1": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, - "200PartyRead": { - "description": "Parties Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadParty2" - } - } - } + "Identification_2": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." }, - "200AccountsAccountIdProductRead": { - "description": "Products Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadProduct2" - } - } - } + "LastPaymentDateTime": { + "type": "string", + "description": "The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "200ProductsRead": { - "description": "Products Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadProduct2" - } - } - } + "description": "Links relevant to the payload" }, - "200AccountsAccountIdScheduledPaymentsRead": { - "description": "Scheduled Payments Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadScheduledPayment3" - } - } - } + "MandateIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Direct Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference." }, - "200ScheduledPaymentsRead": { - "description": "Scheduled Payments Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadScheduledPayment3" - } - } - } + "MaturityDate": { + "type": "string", + "description": "Maturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "200AccountsAccountIdStandingOrdersRead": { - "description": "Standing Orders Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "$ref": "#/components/schemas/ISODateTime" + }, + "LastAvailableDateTime": { + "$ref": "#/components/schemas/ISODateTime" } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadStandingOrder6" - } - } - } + "description": "Meta Data relevant to the payload" }, - "200StandingOrdersRead": { - "description": "Standing Orders Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadStandingOrder6" - } - } - } + "Name_0": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, - "200AccountsAccountIdStatementsRead": { - "description": "Statements Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadStatement2" - } - } - } + "Name_1": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, - "200AccountsAccountIdStatementsStatementIdRead": { - "description": "Statements Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadStatement2" - } - } - } + "Name_2": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of Service User." }, - "200AccountsAccountIdStatementsStatementIdFileRead": { - "description": "Statements Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/File" - } - } - } + "Name_3": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, - "200AccountsAccountIdStatementsStatementIdTransactionsRead": { - "description": "Transactions Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadTransaction6" - } - } - } + "Name_4": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Long name associated with the code" }, - "200StatementsRead": { - "description": "Statements Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadStatement2" - } - } - } + "NextPaymentDateTime": { + "type": "string", + "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "200AccountsAccountIdTransactionsRead": { - "description": "Transactions Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadTransaction6" - } - } - } + "Nickname": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account." }, - "200TransactionsRead": { - "description": "Transactions Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBReadTransaction6" - } - } - } + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "400Error": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBErrorResponse1" - } - } - } + "Number_0": { + "type": "integer", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it\ufffds part of a government scheme, or whether the rate may vary dependent on the applicant\ufffds circumstances." }, - "401Error": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "Number_1": { + "type": "integer", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount" + }, + "OBAccount4": { + "required": [ + "AccountId", + "AccountSubType", + "AccountType", + "Currency" + ], + "type": "object", + "properties": { + "AccountId": { + "$ref": "#/components/schemas/AccountId" + }, + "Status": { + "$ref": "#/components/schemas/OBAccountStatus1Code" + }, + "StatusUpdateDateTime": { + "$ref": "#/components/schemas/StatusUpdateDateTime" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_0" + }, + "AccountType": { + "$ref": "#/components/schemas/OBExternalAccountType1Code" + }, + "AccountSubType": { + "$ref": "#/components/schemas/OBExternalAccountSubType1Code" + }, + "Description": { + "$ref": "#/components/schemas/Description_0" + }, + "Nickname": { + "$ref": "#/components/schemas/Nickname" + }, + "Account": { + "type": "array", + "items": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "$ref": "#/components/schemas/Name_0" + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Provides the details to identify an account." } + }, + "Servicer": { + "$ref": "#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0" } - } + }, + "description": "Unambiguous identification of the account to which credit and debit entries are made." }, - "403Error": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "OBAccount4Basic": { + "required": [ + "AccountId", + "AccountSubType", + "AccountType", + "Currency" + ], + "type": "object", + "properties": { + "AccountId": { + "$ref": "#/components/schemas/AccountId" + }, + "Status": { + "$ref": "#/components/schemas/OBAccountStatus1Code" + }, + "StatusUpdateDateTime": { + "$ref": "#/components/schemas/StatusUpdateDateTime" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_0" + }, + "AccountType": { + "$ref": "#/components/schemas/OBExternalAccountType1Code" + }, + "AccountSubType": { + "$ref": "#/components/schemas/OBExternalAccountSubType1Code" + }, + "Description": { + "$ref": "#/components/schemas/Description_0" + }, + "Nickname": { + "$ref": "#/components/schemas/Nickname" } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBErrorResponse1" - } - } - } - }, - "404Error": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405Error": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } + "description": "Unambiguous identification of the account to which credit and debit entries are made." }, - "406Error": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBAccount4Detail": { + "required": [ + "Account", + "AccountId", + "AccountSubType", + "AccountType", + "Currency" + ], + "type": "object", + "properties": { + "AccountId": { + "$ref": "#/components/schemas/AccountId" + }, + "Status": { + "$ref": "#/components/schemas/OBAccountStatus1Code" + }, + "StatusUpdateDateTime": { + "$ref": "#/components/schemas/StatusUpdateDateTime" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_0" + }, + "AccountType": { + "$ref": "#/components/schemas/OBExternalAccountType1Code" + }, + "AccountSubType": { + "$ref": "#/components/schemas/OBExternalAccountSubType1Code" + }, + "Description": { + "$ref": "#/components/schemas/Description_0" + }, + "Nickname": { + "$ref": "#/components/schemas/Nickname" + }, + "Account": { + "type": "array", + "items": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "$ref": "#/components/schemas/Name_0" + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Provides the details to identify an account." } + }, + "Servicer": { + "$ref": "#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0" } - } + }, + "description": "Unambiguous identification of the account to which credit and debit entries are made." }, - "415Error": { - "description": "Unsupported Media Type", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBAccount6": { + "required": [ + "AccountId", + "AccountSubType", + "AccountType", + "Currency" + ], + "type": "object", + "properties": { + "AccountId": { + "$ref": "#/components/schemas/AccountId" + }, + "Status": { + "$ref": "#/components/schemas/OBAccountStatus1Code" + }, + "StatusUpdateDateTime": { + "$ref": "#/components/schemas/StatusUpdateDateTime" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_0" + }, + "AccountType": { + "$ref": "#/components/schemas/OBExternalAccountType1Code" + }, + "AccountSubType": { + "$ref": "#/components/schemas/OBExternalAccountSubType1Code" + }, + "Description": { + "$ref": "#/components/schemas/Description_0" + }, + "Nickname": { + "$ref": "#/components/schemas/Nickname" + }, + "OpeningDate": { + "$ref": "#/components/schemas/OpeningDate" + }, + "MaturityDate": { + "$ref": "#/components/schemas/MaturityDate" + }, + "SwitchStatus": { + "$ref": "#/components/schemas/OBExternalSwitchStatusCode" + }, + "Account": { + "type": "array", + "items": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "$ref": "#/components/schemas/Name_0" + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Provides the details to identify an account." } + }, + "Servicer": { + "$ref": "#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0" } - } + }, + "description": "Unambiguous identification of the account to which credit and debit entries are made." }, - "429Error": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } + "OBAccount6Basic": { + "required": [ + "AccountId", + "AccountSubType", + "AccountType", + "Currency" + ], + "type": "object", + "properties": { + "AccountId": { + "$ref": "#/components/schemas/AccountId" }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "Status": { + "$ref": "#/components/schemas/OBAccountStatus1Code" + }, + "StatusUpdateDateTime": { + "$ref": "#/components/schemas/StatusUpdateDateTime" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_0" + }, + "AccountType": { + "$ref": "#/components/schemas/OBExternalAccountType1Code" + }, + "AccountSubType": { + "$ref": "#/components/schemas/OBExternalAccountSubType1Code" + }, + "Description": { + "$ref": "#/components/schemas/Description_0" + }, + "Nickname": { + "$ref": "#/components/schemas/Nickname" + }, + "OpeningDate": { + "$ref": "#/components/schemas/OpeningDate" + }, + "MaturityDate": { + "$ref": "#/components/schemas/MaturityDate" + }, + "SwitchStatus": { + "$ref": "#/components/schemas/OBExternalSwitchStatusCode" } - } + }, + "description": "Unambiguous identification of the account to which credit and debit entries are made." }, - "500Error": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBErrorResponse1" - } - } - } - } - }, - "schemas": { - "AccountId": { - "description": "A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ActiveOrHistoricCurrencyCode_0": { - "description": "Identification of the currency in which the account is held. \nUsage: Currency should only be used in case one and the same account number covers several currencies\nand the initiating party needs to identify which currency needs to be used for settlement on the account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ActiveOrHistoricCurrencyCode_1": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "AddressLine": { - "description": "Information that locates and identifies a specific address for a transaction entry, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "BeneficiaryId": { - "description": "A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "BookingDateTime": { - "description": "Date and time when a transaction entry is posted to an account on the account servicer's books.\nUsage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "CountryCode": { - "description": "Nation with its own government, occupying a particular territory.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country eg, state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "DateTime": { - "description": "Date and time associated with the date time type.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "DebtorReference": { - "description": "A reference value provided by the PSU to the PISP while setting up the scheduled payment.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Description_0": { - "description": "Specifies the description of the account type.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Description_1": { - "description": "Description that may be available for the statement fee.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "Description_2": { - "description": "Description that may be available for the statement interest.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "Description_3": { - "description": "Description to describe the purpose of the code", - "type": "string", - "minLength": 1, - "maxLength": 350 - }, - "DirectDebitId": { - "description": "A unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "EmailAddress": { - "description": "Address for electronic mail (e-mail).", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "EndDateTime": { - "description": "Date and time at which the statement period ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "File": { - "type": "object", - "properties": {} - }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Frequency_0": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Frequency_1": { - "description": "Individual Definitions:\nNotKnown - Not Known\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlDay - An interval specified in number of calendar days (02 to 31)\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.\nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.\nIndividual Patterns:\nNotKnown (ScheduleCode)\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlDay:NoOfDay (ScheduleCode + NoOfDay)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nNotKnown\nEvryDay\nEvryWorkgDay\nIntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1])\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "FullLegalName": { - "description": "Specifies a character string with a maximum length of 350 characters.", - "type": "string", - "minLength": 1, - "maxLength": 350 - }, - "ISODateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Identification_0": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Identification_1": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Identification_2": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LastPaymentDateTime": { - "description": "The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] - }, - "MandateIdentification": { - "description": "Direct Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "MaturityDate": { - "description": "Maturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "$ref": "#/components/schemas/ISODateTime" - }, - "LastAvailableDateTime": { - "$ref": "#/components/schemas/ISODateTime" - } - }, - "additionalProperties": false - }, - "Name_0": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Name_1": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Name_2": { - "description": "Name of Service User.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Name_3": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "Name_4": { - "description": "Long name associated with the code", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "NextPaymentDateTime": { - "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Nickname": { - "description": "The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Number_0": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", - "type": "integer" - }, - "Number_1": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", - "type": "integer" - }, - "OBAccount4": { - "oneOf": [ - { - "$ref": "#/components/schemas/OBAccount4Basic" - }, - { - "$ref": "#/components/schemas/OBAccount4Detail" - } - ] - }, - "OBAccount4Basic": { - "type": "object", - "description": "Unambiguous identification of the account to which credit and debit entries are made.", + "OBAccount6Detail": { "required": [ + "Account", "AccountId", - "Currency", + "AccountSubType", "AccountType", - "AccountSubType" - ], - "properties": { - "AccountId": { - "$ref": "#/components/schemas/AccountId" - }, - "Status": { - "$ref": "#/components/schemas/OBAccountStatus1Code" - }, - "StatusUpdateDateTime": { - "$ref": "#/components/schemas/StatusUpdateDateTime" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_0" - }, - "AccountType": { - "$ref": "#/components/schemas/OBExternalAccountType1Code" - }, - "AccountSubType": { - "$ref": "#/components/schemas/OBExternalAccountSubType1Code" - }, - "Description": { - "$ref": "#/components/schemas/Description_0" - }, - "Nickname": { - "$ref": "#/components/schemas/Nickname" - } - } - }, - "OBAccount4Detail": { - "type": "object", - "description": "Unambiguous identification of the account to which credit and debit entries are made.", - "required": [ - "AccountId", - "Currency", - "AccountType", - "AccountSubType", - "Account" - ], - "properties": { - "AccountId": { - "$ref": "#/components/schemas/AccountId" - }, - "Status": { - "$ref": "#/components/schemas/OBAccountStatus1Code" - }, - "StatusUpdateDateTime": { - "$ref": "#/components/schemas/StatusUpdateDateTime" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_0" - }, - "AccountType": { - "$ref": "#/components/schemas/OBExternalAccountType1Code" - }, - "AccountSubType": { - "$ref": "#/components/schemas/OBExternalAccountSubType1Code" - }, - "Description": { - "$ref": "#/components/schemas/Description_0" - }, - "Nickname": { - "$ref": "#/components/schemas/Nickname" - }, - "Account": { - "type": "array", - "items": { - "type": "object", - "description": "Provides the details to identify an account.", - "required": [ - "SchemeName", - "Identification" - ], - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "$ref": "#/components/schemas/Name_0" - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - } - }, - "Servicer": { - "$ref": "#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0" - } - } - }, - "OBAccount6": { - "oneOf": [ - { - "$ref": "#/components/schemas/OBAccount6Basic" - }, - { - "$ref": "#/components/schemas/OBAccount6Detail" - } - ] - }, - "OBAccount6Basic": { - "type": "object", - "description": "Unambiguous identification of the account to which credit and debit entries are made.", - "required": [ - "AccountId", - "Currency", - "AccountType", - "AccountSubType" + "Currency" ], + "type": "object", "properties": { "AccountId": { "$ref": "#/components/schemas/AccountId" @@ -3109,60 +7765,18 @@ }, "MaturityDate": { "$ref": "#/components/schemas/MaturityDate" - } - }, - "additionalProperties": false - }, - "OBAccount6Detail": { - "type": "object", - "description": "Unambiguous identification of the account to which credit and debit entries are made.", - "required": [ - "AccountId", - "Currency", - "AccountType", - "AccountSubType", - "Account" - ], - "properties": { - "AccountId": { - "$ref": "#/components/schemas/AccountId" - }, - "Status": { - "$ref": "#/components/schemas/OBAccountStatus1Code" - }, - "StatusUpdateDateTime": { - "$ref": "#/components/schemas/StatusUpdateDateTime" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_0" - }, - "AccountType": { - "$ref": "#/components/schemas/OBExternalAccountType1Code" - }, - "AccountSubType": { - "$ref": "#/components/schemas/OBExternalAccountSubType1Code" - }, - "Description": { - "$ref": "#/components/schemas/Description_0" - }, - "Nickname": { - "$ref": "#/components/schemas/Nickname" - }, - "OpeningDate": { - "$ref": "#/components/schemas/OpeningDate" }, - "MaturityDate": { - "$ref": "#/components/schemas/MaturityDate" + "SwitchStatus": { + "$ref": "#/components/schemas/OBExternalSwitchStatusCode" }, "Account": { "type": "array", "items": { - "type": "object", - "description": "Provides the details to identify an account.", "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -3176,18 +7790,19 @@ "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Provides the details to identify an account." } }, "Servicer": { "$ref": "#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0" } }, - "additionalProperties": false + "description": "Unambiguous identification of the account to which credit and debit entries are made." }, "OBAccountStatus1Code": { - "description": "Specifies the status of account resource in code form.", "type": "string", + "description": "Specifies the status of account resource in code form.", "enum": [ "Deleted", "Disabled", @@ -3197,17 +7812,16 @@ ] }, "OBActiveCurrencyAndAmount_SimpleType": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, "OBActiveOrHistoricCurrencyAndAmount_0": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "The amount of the most recent direct debit collection.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -3215,15 +7829,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "The amount of the most recent direct debit collection." }, "OBActiveOrHistoricCurrencyAndAmount_1": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -3231,15 +7845,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "OBActiveOrHistoricCurrencyAndAmount_10": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Transaction charges to be paid by the charge bearer.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -3247,15 +7861,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Transaction charges to be paid by the charge bearer." }, "OBActiveOrHistoricCurrencyAndAmount_11": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "The amount of the last (most recent) Standing Order instruction.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -3263,15 +7877,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "The amount of the last (most recent) Standing Order instruction." }, "OBActiveOrHistoricCurrencyAndAmount_2": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "The amount of the first Standing Order", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -3279,15 +7893,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "The amount of the first Standing Order" }, "OBActiveOrHistoricCurrencyAndAmount_3": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "The amount of the next Standing Order.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -3295,15 +7909,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "The amount of the next Standing Order." }, "OBActiveOrHistoricCurrencyAndAmount_4": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "The amount of the final Standing Order", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -3311,15 +7925,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "The amount of the final Standing Order" }, "OBActiveOrHistoricCurrencyAndAmount_5": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the statement benefit type.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -3327,15 +7941,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Amount of money associated with the statement benefit type." }, "OBActiveOrHistoricCurrencyAndAmount_6": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the statement fee type.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -3343,15 +7957,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Amount of money associated with the statement fee type." }, "OBActiveOrHistoricCurrencyAndAmount_7": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the statement interest amount type.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -3359,15 +7973,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Amount of money associated with the statement interest amount type." }, "OBActiveOrHistoricCurrencyAndAmount_8": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the amount type.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -3375,15 +7989,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Amount of money associated with the amount type." }, "OBActiveOrHistoricCurrencyAndAmount_9": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money in the cash transaction entry.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -3391,11 +8005,12 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Amount of money in the cash transaction entry." }, "OBAddressTypeCode": { - "description": "Identifies the nature of the postal address.", "type": "string", + "description": "Identifies the nature of the postal address.", "enum": [ "Business", "Correspondence", @@ -3408,20 +8023,20 @@ ] }, "OBBCAData1": { - "type": "object", "title": "BCA", + "type": "object", "properties": { "ProductDetails": { - "type": "object", "title": "ProductDetails", + "type": "object", "properties": { "Segment": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", "title": "Segment", "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", "items": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to BCA products, they are segmented in relation to different markets that they wish to focus on. ", "enum": [ "ClientAccount", "Standard", @@ -3435,15 +8050,15 @@ } }, "FeeFreeLength": { - "description": "The length/duration of the fee free period", "title": "FeeFreeLength", "type": "number", + "description": "The length/duration of the fee free period", "format": "float" }, "FeeFreeLengthPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the promotional length", "title": "FeeFreeLengthPeriod", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", "enum": [ "Day", "Half Year", @@ -3454,36 +8069,42 @@ ] }, "Notes": { - "description": "Optional additional notes to supplement the Core product details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Core product details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } } - }, - "additionalProperties": false + } }, "CreditInterest": { - "description": "Details about the interest that may be payable to the BCA account holders", - "type": "object", "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", "properties": { "TierBandSet": { - "description": "The group of tiers or bands for which credit interest can be applied.", - "type": "array", "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", "items": { - "description": "The group of tiers or bands for which credit interest can be applied.", + "required": [ + "Destination", + "TierBand", + "TierBandMethod" + ], "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how credit interest is paid/applied. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the BCA balance", "title": "TierBandMethod", "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the BCA balance", "enum": [ "Banded", "Tiered", @@ -3491,65 +8112,71 @@ ] }, "CalculationMethod": { - "description": "Methods of calculating interest", "title": "CalculationMethod", "type": "string", + "description": "Methods of calculating interest", "enum": [ "Compound", "SimpleInterest" ] }, "Destination": { - "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", "title": "Destination", "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", "enum": [ "PayAway", "SelfCredit" ] }, "Notes": { - "description": "Optional additional notes to supplement the Tier Band Set details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "TierBand": { - "description": "Tier Band Details", - "type": "array", "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", "items": { - "description": "Tier Band Details", + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a BCA.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a BCA." }, "TierValueMinimum": { - "description": "Minimum deposit value for which the credit interest tier applies.", "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum deposit value for which the credit interest tier applies." }, "TierValueMaximum": { - "description": "Maximum deposit value for which the credit interest tier applies.", "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum deposit value for which the credit interest tier applies." }, "CalculationFrequency": { - "description": "How often is credit interest calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is credit interest calculated for the account.", "enum": [ "Daily", "HalfYearly", @@ -3562,9 +8189,9 @@ ] }, "ApplicationFrequency": { - "description": "How often is interest applied to the BCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's BCA.", "title": "ApplicationFrequency", "type": "string", + "description": "How often is interest applied to the BCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's BCA.", "enum": [ "Daily", "HalfYearly", @@ -3577,9 +8204,9 @@ ] }, "DepositInterestAppliedCoverage": { - "description": "Amount on which Interest applied.", "title": "DepositInterestAppliedCoverage", "type": "string", + "description": "Amount on which Interest applied.", "enum": [ "Banded", "Tiered", @@ -3587,201 +8214,190 @@ ] }, "FixedVariableInterestRateType": { - "description": "Type of interest rate, Fixed or Variable", "title": "FixedVariableInterestRateType", "type": "string", + "description": "Type of interest rate, Fixed or Variable", "enum": [ "Fixed", "Variable" ] }, "AER": { - "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A", "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" }, "BankInterestRateType": { - "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the BCA.", "title": "BankInterestRateType", "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the BCA.", "enum": [ "Gross", "Other" ] }, "BankInterestRate": { - "description": "Bank Interest for the BCA product", "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Bank Interest for the BCA product" }, "Notes": { - "description": "Optional additional notes to supplement the Tier Band details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherBankInterestType": { - "description": "Other interest rate types which are not available in the standard code list", - "type": "object", "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other interest rate types which are not available in the standard code list" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." } }, - "required": [ - "TierValueMinimum", - "ApplicationFrequency", - "FixedVariableInterestRateType", - "AER" - ] - }, - "minItems": 1 + "description": "Tier Band Details" + } } }, - "required": [ - "TierBandMethod", - "Destination", - "TierBand" - ] - }, - "minItems": 1 + "description": "The group of tiers or bands for which credit interest can be applied." + } } }, - "additionalProperties": false, - "required": [ - "TierBandSet" - ] + "description": "Details about the interest that may be payable to the BCA account holders" }, "Overdraft": { - "description": "Borrowing details", - "type": "object", "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", "properties": { "Notes": { - "description": "Associated Notes about the overdraft rates", "title": "Notes", "type": "array", + "description": "Associated Notes about the overdraft rates", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftTierBandSet": { - "description": "Tier band set details", - "type": "array", "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", "items": { - "description": "Tier band set details", + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "title": "TierBandMethod", "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "enum": [ "Banded", "Tiered", @@ -3789,98 +8405,101 @@ ] }, "OverdraftType": { - "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "title": "OverdraftType", "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "enum": [ "Committed", "OnDemand" ] }, "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft product.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." }, "AuthorisedIndicator": { - "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)", "title": "AuthorisedIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" }, "BufferAmount": { - "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply.", "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." }, "Notes": { - "description": "Optional additional notes to supplement the overdraft Tier Band Set details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftTierBand": { - "description": "Provides overdraft details for a specific tier or band", - "type": "array", "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", "items": { - "description": "Provides overdraft details for a specific tier or band", + "required": [ + "TierValueMin" + ], "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." }, "TierValueMin": { - "description": "Minimum value of Overdraft Tier/Band", "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum value of Overdraft Tier/Band" }, "TierValueMax": { - "description": "Maximum value of Overdraft Tier/Band", "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum value of Overdraft Tier/Band" }, "EAR": { - "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft.", "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." }, "RepresentativeAPR": { - "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account.", "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." }, "AgreementLengthMin": { - "description": "Specifies the minimum length of a band for a fixed overdraft agreement", "title": "AgreementLengthMin", "type": "number", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement", "format": "float" }, "AgreementLengthMax": { - "description": "Specifies the maximum length of a band for a fixed overdraft agreement", "title": "AgreementLengthMax", "type": "number", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement", "format": "float" }, "AgreementPeriod": { - "description": "Specifies the period of a fixed length overdraft agreement", "title": "AgreementPeriod", "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", "enum": [ "Day", "Half Year", @@ -3891,9 +8510,9 @@ ] }, "OverdraftInterestChargingCoverage": { - "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is £2k and the interest tiers are:- 0-£500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the ‘Whole’ of the account balance, and in the 2nd that it is ‘Tiered’.", "title": "OverdraftInterestChargingCoverage", "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is £2k and the interest tiers are:- 0-£500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the ‘Whole’ of the account balance, and in the 2nd that it is ‘Tiered’.", "enum": [ "Banded", "Tiered", @@ -3901,44 +8520,50 @@ ] }, "BankGuaranteedIndicator": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "BankGuaranteedIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances." }, "Notes": { - "description": "Optional additional notes to supplement the Tier/band details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftFeesCharges": { - "description": "Overdraft fees and charges", - "type": "array", "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", "items": { - "description": "Overdraft fees and charges", + "required": [ + "OverdraftFeeChargeDetail" + ], "type": "object", "properties": { "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -3953,34 +8578,33 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "FeeCapOccurrence", "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -3991,72 +8615,73 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OverdraftFeeChargeDetail": { - "description": "Details about the fees/charges", - "type": "array", "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", "items": { - "description": "Details about the fees/charges", + "required": [ + "ApplicationFrequency", + "FeeType" + ], "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "title": "FeeType", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -4073,46 +8698,46 @@ ] }, "NegotiableIndicator": { - "description": "Indicates whether fee and charges are negotiable", "title": "NegotiableIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" }, "OverdraftControlIndicator": { - "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "Gross", "Other" ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "OnClosing", "OnOpening", @@ -4137,9 +8762,9 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "OnClosing", "OnOpening", @@ -4164,31 +8789,35 @@ ] }, "Notes": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "title": "Notes", "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -4203,34 +8832,33 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "FeeCapOccurrence", "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -4241,240 +8869,230 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OtherFeeType": { - "description": "Other Fee type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type code which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." } }, - "required": [ - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Details about the fees/charges" + } } }, - "required": [ - "OverdraftFeeChargeDetail" - ] + "description": "Overdraft fees and charges" } } }, - "required": [ - "TierValueMin" - ] - }, - "minItems": 1 + "description": "Provides overdraft details for a specific tier or band" + } }, "OverdraftFeesCharges": { - "description": "Overdraft fees and charges details", - "type": "array", "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", "items": { - "description": "Overdraft fees and charges details", + "required": [ + "OverdraftFeeChargeDetail" + ], "type": "object", "properties": { "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -4489,34 +9107,33 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "FeeCapOccurrence", "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -4527,72 +9144,73 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OverdraftFeeChargeDetail": { - "description": "Details about the fees/charges", - "type": "array", "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", "items": { - "description": "Details about the fees/charges", + "required": [ + "ApplicationFrequency", + "FeeType" + ], "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "title": "FeeType", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -4609,46 +9227,46 @@ ] }, "NegotiableIndicator": { - "description": "Indicates whether fee and charges are negotiable", "title": "NegotiableIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" }, "OverdraftControlIndicator": { - "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "Gross", "Other" ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "OnClosing", "OnOpening", @@ -4673,9 +9291,9 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "OnClosing", "OnOpening", @@ -4700,31 +9318,35 @@ ] }, "Notes": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "title": "Notes", "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "AnnualReview", @@ -4739,34 +9361,33 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "title": "FeeCapOccurrence", "type": "number", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it’s part of a government scheme, or whether the rate may vary dependent on the applicant’s circumstances.", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -4777,236 +9398,218 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OtherFeeType": { - "description": "Other Fee type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type code which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." } }, - "required": [ - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Details about the fees/charges" + } } }, - "required": [ - "OverdraftFeeChargeDetail" - ] + "description": "Overdraft fees and charges details" } } }, - "required": [ - "TierBandMethod", - "OverdraftTierBand" - ] - }, - "minItems": 1 + "description": "Tier band set details" + } } }, - "additionalProperties": false, - "required": [ - "OverdraftTierBandSet" - ] + "description": "Borrowing details" }, "OtherFeesCharges": { - "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", - "type": "array", "title": "OtherFeesCharges", + "type": "array", + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", "items": { - "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", + "required": [ + "FeeChargeDetail" + ], "type": "object", "properties": { "TariffType": { - "description": "TariffType which defines the fee and charges.", "title": "TariffType", "type": "string", + "description": "TariffType which defines the fee and charges.", "enum": [ "Electronic", "Mixed", @@ -5014,67 +9617,71 @@ ] }, "TariffName": { - "description": "Name of the tariff", "title": "TariffName", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Name of the tariff" }, "OtherTariffType": { - "description": "Other tariff type which is not in the standard list.", - "type": "object", "title": "OtherTariffType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other tariff type which is not in the standard list." }, "FeeChargeDetail": { - "description": "Other fees/charges details", - "type": "array", "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", "items": { - "description": "Other fees/charges details", + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], "type": "object", "properties": { "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "title": "FeeCategory", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "Other", "Servicing" ] }, "FeeType": { - "description": "Fee/Charge Type", "title": "FeeType", "type": "string", + "description": "Fee/Charge Type", "enum": [ "Other", "ServiceCAccountFee", @@ -5087,35 +9694,35 @@ ] }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", "title": "NegotiableIndicator", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "Gross", "Other" ] }, "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "OnClosing", "OnOpening", @@ -5140,9 +9747,9 @@ ] }, "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", "title": "CalculationFrequency", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "OnClosing", "OnOpening", @@ -5167,31 +9774,35 @@ ] }, "Notes": { - "description": "Optional additional notes to supplement the fee/charge details.", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "FeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", - "type": "array", "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", - "type": "object", - "properties": { - "FeeType": { - "description": "Fee/charge type which is being capped", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", + "properties": { + "FeeType": { "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "Other", "ServiceCAccountFee", @@ -5202,34 +9813,33 @@ "ServiceCMinimumMonthlyFee", "ServiceCOther" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -5240,295 +9850,285 @@ ] }, "Notes": { - "description": "Free text for adding extra details for fee charge cap", "title": "Notes", "type": "array", + "description": "Free text for adding extra details for fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" } }, "OtherFeeCategoryType": { - "type": "object", "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + } }, "OtherFeeType": { - "description": "Other Fee/charge type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "title": "FeeCategory", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "Other", "Servicing" ] }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "FeeCategory", - "Name", - "Description" - ] + "description": "Other Fee/charge type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies not covered in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies not covered in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in standard code set." }, "FeeApplicableRange": { - "description": "Range or amounts or rates for which the fee/charge applies", - "type": "object", "title": "FeeApplicableRange", + "type": "object", "properties": { "MinimumAmount": { - "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)", "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" }, "MaximumAmount": { - "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)", "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" }, "MinimumRate": { - "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)", "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" }, "MaximumRate": { - "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)", "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" } }, - "additionalProperties": false + "description": "Range or amounts or rates for which the fee/charge applies" } }, - "required": [ - "FeeCategory", - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Other fees/charges details" + } }, "FeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", - "type": "array", "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "Other", "ServiceCAccountFee", @@ -5539,34 +10139,33 @@ "ServiceCMinimumMonthlyFee", "ServiceCOther" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Min Max type", "title": "MinMaxType", "type": "string", + "description": "Min Max type", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "Day", "Half Year", @@ -5577,72 +10176,66 @@ ] }, "Notes": { - "description": "Free text for adding extra details for fee charge cap", "title": "Notes", "type": "array", + "description": "Free text for adding extra details for fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" } } }, - "required": [ - "FeeChargeDetail" - ] + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" } } - }, - "additionalProperties": false + } }, "OBBalanceType1Code": { - "description": "Balance type, in a coded form.", "type": "string", + "description": "Balance type, in a coded form.", "enum": [ "ClosingAvailable", "ClosingBooked", @@ -5660,36 +10253,52 @@ ] }, "OBBankTransactionCodeStructure1": { - "type": "object", "required": [ "Code", "SubCode" ], - "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry.", + "type": "object", "properties": { "Code": { - "description": "Specifies the family within a domain.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the family within a domain." }, "SubCode": { - "description": "Specifies the sub-product family within a specific family.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the sub-product family within a specific family." } - } + }, + "description": "Set of elements used to fully identify the type of underlying transaction resulting in an entry." }, "OBBeneficiary5": { - "oneOf": [ - { - "$ref": "#/components/schemas/OBBeneficiary5Basic" + "type": "object", + "properties": { + "AccountId": { + "$ref": "#/components/schemas/AccountId" }, - { - "$ref": "#/components/schemas/OBBeneficiary5Detail" + "BeneficiaryId": { + "$ref": "#/components/schemas/BeneficiaryId" + }, + "BeneficiaryType": { + "$ref": "#/components/schemas/OBBeneficiaryType1Code" + }, + "Reference": { + "$ref": "#/components/schemas/Reference" + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + }, + "CreditorAgent": { + "$ref": "#/components/schemas/OBBranchAndFinancialInstitutionIdentification6_0" + }, + "CreditorAccount": { + "$ref": "#/components/schemas/OBCashAccount5_0" } - ] + } }, "OBBeneficiary5Basic": { "type": "object", @@ -5709,10 +10318,12 @@ "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - }, - "additionalProperties": false + } }, "OBBeneficiary5Detail": { + "required": [ + "CreditorAccount" + ], "type": "object", "properties": { "AccountId": { @@ -5736,19 +10347,14 @@ "CreditorAccount": { "$ref": "#/components/schemas/OBCashAccount5_0" } - }, - "additionalProperties": false, - "required": [ - "CreditorAccount" - ] + } }, "OBBranchAndFinancialInstitutionIdentification5_0": { - "type": "object", "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" @@ -5756,15 +10362,15 @@ "Identification": { "$ref": "#/components/schemas/Identification_1" } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account." }, "OBBranchAndFinancialInstitutionIdentification5_1": { - "type": "object", "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" @@ -5772,11 +10378,11 @@ "Identification": { "$ref": "#/components/schemas/Identification_1" } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, "OBBranchAndFinancialInstitutionIdentification6_0": { "type": "object", - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" @@ -5790,11 +10396,11 @@ "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, "OBBranchAndFinancialInstitutionIdentification6_1": { "type": "object", - "description": "Financial institution servicing an account for the creditor.", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" @@ -5808,11 +10414,11 @@ "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Financial institution servicing an account for the creditor." }, "OBBranchAndFinancialInstitutionIdentification6_2": { "type": "object", - "description": "Financial institution servicing an account for the debtor.", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" @@ -5826,15 +10432,15 @@ "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Financial institution servicing an account for the debtor." }, "OBCashAccount5_0": { - "type": "object", "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the beneficiary account.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -5848,24 +10454,24 @@ "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Provides the details to identify the beneficiary account." }, "OBCashAccount5_1": { - "type": "object", "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the beneficiary account.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" }, "Identification": { - "description": "Beneficiary account identification.", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "Beneficiary account identification." }, "Name": { "$ref": "#/components/schemas/Name_0" @@ -5873,11 +10479,11 @@ "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Provides the details to identify the beneficiary account." }, "OBCashAccount6_0": { "type": "object", - "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction.", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -5891,11 +10497,11 @@ "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Unambiguous identification of the account of the creditor, in the case of a debit transaction." }, "OBCashAccount6_1": { "type": "object", - "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction.", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -5909,77 +10515,76 @@ "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Unambiguous identification of the account of the debtor, in the case of a crebit transaction." }, "OBCreditDebitCode_0": { - "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", "type": "string", + "description": "Indicates whether the amount is a credit or a debit. \nUsage: A zero amount is considered to be a credit amount.", "enum": [ "Credit", "Debit" ] }, "OBCreditDebitCode_1": { - "description": "Indicates whether the transaction is a credit or a debit entry.", "type": "string", + "description": "Indicates whether the transaction is a credit or a debit entry.", "enum": [ "Credit", "Debit" ] }, "OBCreditDebitCode_2": { - "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", "type": "string", + "description": "Indicates whether the balance is a credit or a debit balance. \nUsage: A zero balance is considered to be a credit balance.", "enum": [ "Credit", "Debit" ] }, "OBCurrencyExchange5": { - "type": "object", "required": [ - "SourceCurrency", - "ExchangeRate" + "ExchangeRate", + "SourceCurrency" ], - "description": "Set of elements used to provide details on the currency exchange.", + "type": "object", "properties": { "SourceCurrency": { - "description": "Currency from which an amount is to be converted in a currency conversion.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Currency from which an amount is to be converted in a currency conversion." }, "TargetCurrency": { - "description": "Currency into which an amount is to be converted in a currency conversion.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Currency into which an amount is to be converted in a currency conversion." }, "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." }, "ExchangeRate": { - "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).", - "type": "number" + "type": "number", + "description": "Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency.\nUsage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency)." }, "ContractIdentification": { - "description": "Unique identification to unambiguously identify the foreign exchange contract.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification to unambiguously identify the foreign exchange contract." }, "QuotationDate": { - "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which an exchange rate is quoted.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "InstructedAmount": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -5987,32 +10592,38 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party." } - } + }, + "description": "Set of elements used to provide details on the currency exchange." }, "OBEntryStatus1Code": { - "description": "Status of a transaction entry on the books of the account servicer.", "type": "string", + "description": "Status of a transaction entry on the books of the account servicer.", "enum": [ "Booked", "Pending" ] }, "OBTransactionMutability1Code": { - "description": "Specifies the Mutability of the Transaction record.", "type": "string", + "description": "Specifies the Mutability of the Transaction record.", "enum": [ "Mutable", "Immutable" ] }, "OBError1": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", "x-namespaced-enum": [ "UK.OBIE.Field.Expected", "UK.OBIE.Field.Invalid", @@ -6044,69 +10655,62 @@ ] }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + }, + "OBErrorResponse1": { "required": [ - "ErrorCode", + "Code", + "Errors", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "OBErrorResponse1": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { "$ref": "#/components/schemas/OBError1" - }, - "type": "array", - "minItems": 1 + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." }, "OBExternalAccountIdentification4Code": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BBAN", "UK.OBIE.IBAN", @@ -6116,8 +10720,8 @@ ] }, "OBExternalAccountRole1Code": { - "description": "A party’s role with respect to the related account.", "type": "string", + "description": "A party’s role with respect to the related account.", "x-namespaced-enum": [ "UK.OBIE.Administrator", "UK.OBIE.Beneficiary", @@ -6136,8 +10740,8 @@ ] }, "OBExternalAccountSubType1Code": { - "description": "Specifies the sub type of account (product family group).", "type": "string", + "description": "Specifies the sub type of account (product family group).", "enum": [ "ChargeCard", "CreditCard", @@ -6150,31 +10754,39 @@ ] }, "OBExternalAccountType1Code": { - "description": "Specifies the type of account (personal or business).", "type": "string", + "description": "Specifies the type of account (personal or business).", "enum": [ "Business", "Personal" ] }, "OBExternalDirectDebitStatus1Code": { - "description": "Specifies the status of the direct debit in code form.", "type": "string", + "description": "Specifies the status of the direct debit in code form.", "enum": [ "Active", "Inactive" ] }, "OBExternalFinancialInstitutionIdentification4Code": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", "x-namespaced-enum": [ "UK.OBIE.BICFI" ] }, + "OBExternalSwitchStatusCode": { + "type": "string", + "description": "Specifies the switch status for the account, in a coded form.", + "x-namespaced-enum": [ + "UK.CASS.NotSwitced", + "UK.CASS.SwitchCompleted" + ] + }, "OBExternalLegalStructureType1Code": { - "description": "Legal standing of the party.", "type": "string", + "description": "Legal standing of the party.", "x-namespaced-enum": [ "UK.OBIE.CIC", "UK.OBIE.CIO", @@ -6191,8 +10803,8 @@ ] }, "OBExternalPartyType1Code": { - "description": "Party type, in a coded form.", "type": "string", + "description": "Party type, in a coded form.", "enum": [ "Delegate", "Joint", @@ -6200,24 +10812,24 @@ ] }, "OBExternalScheduleType1Code": { - "description": "Specifies the scheduled payment date type requested", "type": "string", + "description": "Specifies the scheduled payment date type requested", "enum": [ "Arrival", "Execution" ] }, "OBExternalStandingOrderStatus1Code": { - "description": "Specifies the status of the standing order in code form.", "type": "string", + "description": "Specifies the status of the standing order in code form.", "enum": [ "Active", "Inactive" ] }, "OBExternalStatementAmountType1Code": { - "description": "Amount type, in a coded form.", "type": "string", + "description": "Amount type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.ArrearsClosingBalance", "UK.OBIE.AvailableBalance", @@ -6246,8 +10858,8 @@ ] }, "OBExternalStatementBenefitType1Code": { - "description": "Benefit type, in a coded form.", "type": "string", + "description": "Benefit type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.Cashback", "UK.OBIE.Insurance", @@ -6256,8 +10868,8 @@ ] }, "OBExternalStatementDateTimeType1Code": { - "description": "Date time type, in a coded form.", "type": "string", + "description": "Date time type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.BalanceTransferPromoEnd", "UK.OBIE.DirectDebitDue", @@ -6270,8 +10882,8 @@ ] }, "OBExternalStatementFeeFrequency1Code": { - "description": "How frequently the fee is applied to the Account.", "type": "string", + "description": "How frequently the fee is applied to the Account.", "x-namespaced-enum": [ "UK.OBIE.ChargingPeriod", "UK.OBIE.PerTransactionAmount", @@ -6282,16 +10894,16 @@ ] }, "OBExternalStatementFeeRateType1Code": { - "description": "Description that may be available for the statement fee rate type.", "type": "string", + "description": "Description that may be available for the statement fee rate type.", "x-namespaced-enum": [ "UK.OBIE.AER", "UK.OBIE.EAR" ] }, "OBExternalStatementFeeType1Code": { - "description": "Fee type, in a coded form.", "type": "string", + "description": "Fee type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.Annual", "UK.OBIE.BalanceTransfer", @@ -6311,8 +10923,8 @@ ] }, "OBExternalStatementInterestFrequency1Code": { - "description": "Specifies the statement fee type requested", "type": "string", + "description": "Specifies the statement fee type requested", "x-namespaced-enum": [ "UK.OBIE.Daily", "UK.OBIE.HalfYearly", @@ -6324,8 +10936,8 @@ ] }, "OBExternalStatementInterestRateType1Code": { - "description": "Description that may be available for the statement Interest rate type.", "type": "string", + "description": "Description that may be available for the statement Interest rate type.", "x-namespaced-enum": [ "UK.OBIE.BOEBaseRate", "UK.OBIE.FixedRate", @@ -6335,8 +10947,8 @@ ] }, "OBExternalStatementInterestType1Code": { - "description": "Interest amount type, in a coded form.", "type": "string", + "description": "Interest amount type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.BalanceTransfer", "UK.OBIE.Cash", @@ -6346,8 +10958,8 @@ ] }, "OBExternalStatementRateType1Code": { - "description": "Statement rate type, in a coded form.", "type": "string", + "description": "Statement rate type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.AnnualBalanceTransfer", "UK.OBIE.AnnualBalanceTransferAfterPromo", @@ -6362,8 +10974,8 @@ ] }, "OBExternalStatementType1Code": { - "description": "Statement type, in a coded form.", "type": "string", + "description": "Statement type, in a coded form.", "enum": [ "AccountClosure", "AccountOpening", @@ -6373,8 +10985,8 @@ ] }, "OBExternalStatementValueType1Code": { - "description": "Statement value type, in a coded form.", "type": "string", + "description": "Statement value type, in a coded form.", "x-namespaced-enum": [ "UK.OBIE.AirMilesPoints", "UK.OBIE.AirMilesPointsBalance", @@ -6388,37 +11000,37 @@ }, "OBMerchantDetails1": { "type": "object", - "description": "Details of the merchant involved in the transaction.", "properties": { "MerchantName": { - "description": "Name by which the merchant is known.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Name by which the merchant is known." }, "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", + "maxLength": 4, "minLength": 3, - "maxLength": 4 + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." } - } + }, + "description": "Details of the merchant involved in the transaction." }, "OBPCAData1": { - "type": "object", "title": "PCA", + "type": "object", "properties": { "ProductDetails": { - "type": "object", "title": "ProductDetails", + "type": "object", "properties": { "Segment": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", "title": "Segment", "type": "array", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", "items": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\n\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd \nWith respect to PCA products, they are segmented in relation to different markets that they wish to focus on. ", "enum": [ "Basic", "BenefitAndReward", @@ -6438,107 +11050,118 @@ } }, "MonthlyMaximumCharge": { - "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order", "title": "MonthlyMaximumCharge", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" }, "Notes": { - "description": "Optional additional notes to supplement the Core product details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Core product details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } } - }, - "additionalProperties": false + } }, "CreditInterest": { - "description": "Details about the interest that may be payable to the PCA account holders", - "type": "object", "title": "CreditInterest", + "required": [ + "TierBandSet" + ], + "type": "object", "properties": { "TierBandSet": { - "description": "The group of tiers or bands for which credit interest can be applied.", - "type": "array", "title": "TierBandSet", + "minItems": 1, + "type": "array", + "description": "The group of tiers or bands for which credit interest can be applied.", "items": { - "description": "The group of tiers or bands for which credit interest can be applied.", + "required": [ + "TierBand", + "TierBandMethod" + ], "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how credit interest is charged. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the PCA balance", "title": "TierBandMethod", "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n\n3. Whole\nThe same interest rate is applied irrespective of the PCA balance", "enum": [ "Tiered", "Whole" ] }, "CalculationMethod": { - "description": "Methods of calculating interest", "title": "CalculationMethod", "type": "string", + "description": "Methods of calculating interest", "enum": [ "Compound", "SimpleInterest" ] }, "Destination": { - "description": "Describes whether accrued interest is payable only to the PCA or to another bank account", "title": "Destination", "type": "string", + "description": "Describes whether accrued interest is payable only to the PCA or to another bank account", "enum": [ "PayAway", "SelfCredit" ] }, "Notes": { - "description": "Optional additional notes to supplement the Tier Band Set details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier Band Set details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "TierBand": { - "description": "Tier Band Details", - "type": "array", "title": "TierBand", + "minItems": 1, + "type": "array", + "description": "Tier Band Details", "items": { - "description": "Tier Band Details", + "required": [ + "AER", + "ApplicationFrequency", + "FixedVariableInterestRateType", + "TierValueMinimum" + ], "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a PCA.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a PCA." }, "TierValueMinimum": { - "description": "Minimum deposit value for which the credit interest tier applies.", "title": "TierValueMinimum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum deposit value for which the credit interest tier applies." }, "TierValueMaximum": { - "description": "Maximum deposit value for which the credit interest tier applies.", "title": "TierValueMaximum", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum deposit value for which the credit interest tier applies." }, "CalculationFrequency": { - "description": "How often is credit interest calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is credit interest calculated for the account.", "enum": [ "PerAcademicTerm", "Daily", @@ -6552,9 +11175,9 @@ ] }, "ApplicationFrequency": { - "description": "How often is interest applied to the PCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's PCA.", "title": "ApplicationFrequency", "type": "string", + "description": "How often is interest applied to the PCA for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's PCA.", "enum": [ "PerAcademicTerm", "Daily", @@ -6568,33 +11191,33 @@ ] }, "DepositInterestAppliedCoverage": { - "description": "Amount on which Interest applied.", "title": "DepositInterestAppliedCoverage", "type": "string", + "description": "Amount on which Interest applied.", "enum": [ "Tiered", "Whole" ] }, "FixedVariableInterestRateType": { - "description": "Type of interest rate, Fixed or Variable", "title": "FixedVariableInterestRateType", "type": "string", + "description": "Type of interest rate, Fixed or Variable", "enum": [ "Fixed", "Variable" ] }, "AER": { - "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A", "title": "AER", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \n\nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" }, "BankInterestRateType": { - "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the PCA.", "title": "BankInterestRateType", "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the PCA.", "enum": [ "LinkedBaseRate", "Gross", @@ -6603,176 +11226,166 @@ ] }, "BankInterestRate": { - "description": "Bank Interest for the PCA product", "title": "BankInterestRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Bank Interest for the PCA product" }, "Notes": { - "description": "Optional additional notes to supplement the Tier Band details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier Band details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherBankInterestType": { - "description": "Other interest rate types which are not available in the standard code list", - "type": "object", "title": "OtherBankInterestType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other interest rate types which are not available in the standard code list" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." } }, - "required": [ - "TierValueMinimum", - "ApplicationFrequency", - "FixedVariableInterestRateType", - "AER" - ] - }, - "minItems": 1 + "description": "Tier Band Details" + } } }, - "required": [ - "TierBandMethod", - "TierBand" - ] - }, - "minItems": 1 + "description": "The group of tiers or bands for which credit interest can be applied." + } } }, - "additionalProperties": false, - "required": [ - "TierBandSet" - ] + "description": "Details about the interest that may be payable to the PCA account holders" }, "Overdraft": { - "description": "Details about Overdraft rates, fees & charges", - "type": "object", "title": "Overdraft", + "required": [ + "OverdraftTierBandSet" + ], + "type": "object", "properties": { "Notes": { - "description": "Associated Notes about the overdraft rates", "title": "Notes", "type": "array", + "description": "Associated Notes about the overdraft rates", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftTierBandSet": { - "description": "Tier band set details", - "type": "array", "title": "OverdraftTierBandSet", + "minItems": 1, + "type": "array", + "description": "Tier band set details", "items": { - "description": "Tier band set details", + "required": [ + "OverdraftTierBand", + "TierBandMethod" + ], "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "title": "TierBandMethod", "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "enum": [ "Tiered", "Whole", @@ -6780,9 +11393,9 @@ ] }, "OverdraftType": { - "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "title": "OverdraftType", "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "enum": [ "Committed", "OnDemand", @@ -6790,121 +11403,130 @@ ] }, "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft product.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." }, "AuthorisedIndicator": { - "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)", "title": "AuthorisedIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" }, "BufferAmount": { - "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply.", "title": "BufferAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." }, "Notes": { - "description": "Optional additional notes to supplement the overdraft Tier Band Set details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftTierBand": { - "description": "Provides overdraft details for a specific tier or band", - "type": "array", "title": "OverdraftTierBand", + "minItems": 1, + "type": "array", + "description": "Provides overdraft details for a specific tier or band", "items": { - "description": "Provides overdraft details for a specific tier or band", + "required": [ + "TierValueMin" + ], "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft.", "title": "Identification", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." }, "TierValueMin": { - "description": "Minimum value of Overdraft Tier/Band", "title": "TierValueMin", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum value of Overdraft Tier/Band" }, "TierValueMax": { - "description": "Maximum value of Overdraft Tier/Band", "title": "TierValueMax", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum value of Overdraft Tier/Band" }, "OverdraftInterestChargingCoverage": { - "description": "Interest charged on whole amount or tiered/banded", "title": "OverdraftInterestChargingCoverage", "type": "string", + "description": "Interest charged on whole amount or tiered/banded", "enum": [ "Tiered", "Whole" ] }, "BankGuaranteedIndicator": { - "description": "Indicates that a bank provides the overdraft limit up to TierValueMIn to all customers automatically", "title": "BankGuaranteedIndicator", - "type": "boolean" + "type": "boolean", + "description": "Indicates that a bank provides the overdraft limit up to TierValueMIn to all customers automatically" }, "EAR": { - "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft.", "title": "EAR", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." }, "RepresentativeAPR": { - "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account.", "title": "RepresentativeAPR", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "An annual percentage rate (APR) is the annual rate charged for borrowing or earned through an investment. APR is expressed as a percentage that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction but does not take compounding into account." }, "Notes": { - "description": "Optional additional notes to supplement the Tier/band details", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the Tier/band details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OverdraftFeesCharges": { - "description": "Overdraft fees and charges", - "type": "array", "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges", "items": { - "description": "Overdraft fees and charges", - "type": "object", + "required": [ + "OverdraftFeeChargeDetail" + ], + "type": "object", "properties": { "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -6919,39 +11541,38 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -6963,72 +11584,73 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } }, "OverdraftFeeChargeDetail": { - "description": "Details about the fees/charges", - "type": "array", "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", "items": { - "description": "Details about the fees/charges", + "required": [ + "ApplicationFrequency", + "FeeType" + ], "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "title": "FeeType", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -7045,32 +11667,32 @@ ] }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "LinkedBaseRate", "Gross", @@ -7079,9 +11701,9 @@ ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "AccountClosing", "AccountOpening", @@ -7106,9 +11728,9 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "AccountClosing", "AccountOpening", @@ -7133,164 +11755,164 @@ ] }, "Notes": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "title": "Notes", "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other Fee type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type code which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." }, "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "object", "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -7305,39 +11927,38 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -7349,104 +11970,97 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "additionalProperties": false, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } }, - "required": [ - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Details about the fees/charges" + } } }, - "required": [ - "OverdraftFeeChargeDetail" - ] + "description": "Overdraft fees and charges" } } }, - "required": [ - "TierValueMin" - ] - }, - "minItems": 1 + "description": "Provides overdraft details for a specific tier or band" + } }, "OverdraftFeesCharges": { - "description": "Overdraft fees and charges details", - "type": "array", "title": "OverdraftFeesCharges", + "type": "array", + "description": "Overdraft fees and charges details", "items": { - "description": "Overdraft fees and charges details", + "required": [ + "OverdraftFeeChargeDetail" + ], "type": "object", "properties": { "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "array", "title": "OverdraftFeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -7461,39 +12075,38 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -7505,72 +12118,73 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } }, "OverdraftFeeChargeDetail": { - "description": "Details about the fees/charges", - "type": "array", "title": "OverdraftFeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Details about the fees/charges", "items": { - "description": "Details about the fees/charges", + "required": [ + "ApplicationFrequency", + "FeeType" + ], "type": "object", "properties": { "FeeType": { - "description": "Overdraft fee type", "title": "FeeType", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -7587,32 +12201,32 @@ ] }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "IncrementalBorrowingAmount": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", "title": "IncrementalBorrowingAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "FeeAmount": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "LinkedBaseRate", "Gross", @@ -7621,9 +12235,9 @@ ] }, "ApplicationFrequency": { - "description": "Frequency at which the overdraft charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "AccountClosing", "AccountOpening", @@ -7648,9 +12262,9 @@ ] }, "CalculationFrequency": { - "description": "How often is the overdraft fee/charge calculated for the account.", "title": "CalculationFrequency", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "AccountClosing", "AccountOpening", @@ -7675,164 +12289,164 @@ ] }, "Notes": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "title": "Notes", "type": "array", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other Fee type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other Fee type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type code which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type code which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies that are not available in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies that are not available in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in the standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in the standard code set." }, "OverdraftFeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "object", "title": "OverdraftFeeChargeCap", + "required": [ + "FeeType", + "MinMaxType" + ], + "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Overdraft fee type", "type": "string", + "description": "Overdraft fee type", "enum": [ "ArrangedOverdraft", "EmergencyBorrowing", @@ -7847,39 +12461,38 @@ "Other", "UnauthorisedUnpaidTrans" ] - }, - "minItems": 1 + } }, "OverdraftControlIndicator": { - "description": "Specifies for the overdraft control feature/benefit", "title": "OverdraftControlIndicator", - "type": "boolean" + "type": "boolean", + "description": "Specifies for the overdraft control feature/benefit" }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -7891,114 +12504,104 @@ ] }, "Notes": { - "description": "Notes related to Overdraft fee charge cap", "title": "Notes", "type": "array", + "description": "Notes related to Overdraft fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "additionalProperties": false, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } }, - "required": [ - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Details about the fees/charges" + } } }, - "required": [ - "OverdraftFeeChargeDetail" - ] + "description": "Overdraft fees and charges details" } } }, - "required": [ - "TierBandMethod", - "OverdraftTierBand" - ] - }, - "minItems": 1 + "description": "Tier band set details" + } } }, - "additionalProperties": false, - "required": [ - "OverdraftTierBandSet" - ] + "description": "Details about Overdraft rates, fees & charges" }, "OtherFeesCharges": { - "description": "Contains details of fees and charges which are not associated with either borrowing or features/benefits", - "type": "object", "title": "OtherFeesCharges", + "required": [ + "FeeChargeDetail" + ], + "type": "object", "properties": { "FeeChargeDetail": { - "description": "Other fees/charges details", - "type": "array", "title": "FeeChargeDetail", + "minItems": 1, + "type": "array", + "description": "Other fees/charges details", "items": { - "description": "Other fees/charges details", + "required": [ + "ApplicationFrequency", + "FeeCategory", + "FeeType" + ], "type": "object", "properties": { "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "title": "FeeCategory", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "Other", "Servicing" ] }, "FeeType": { - "description": "Fee/Charge Type", "title": "FeeType", "type": "string", + "description": "Fee/Charge Type", "enum": [ "ServiceCAccountFee", "ServiceCAccountFeeMonthly", @@ -8007,21 +12610,21 @@ ] }, "FeeAmount": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "FeeRate": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" }, "FeeRateType": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "title": "FeeRateType", "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", "enum": [ "LinkedBaseRate", "Gross", @@ -8030,9 +12633,9 @@ ] }, "ApplicationFrequency": { - "description": "How frequently the fee/charge is applied to the account", "title": "ApplicationFrequency", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "AccountClosing", "AccountOpening", @@ -8057,9 +12660,9 @@ ] }, "CalculationFrequency": { - "description": "How frequently the fee/charge is calculated", "title": "CalculationFrequency", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "AccountClosing", "AccountOpening", @@ -8084,244 +12687,242 @@ ] }, "Notes": { - "description": "Optional additional notes to supplement the fee/charge details.", "title": "Notes", "type": "array", + "description": "Optional additional notes to supplement the fee/charge details.", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeCategoryType": { - "type": "object", "title": "OtherFeeCategoryType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } - }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + } }, "OtherFeeType": { - "description": "Other Fee/charge type which is not available in the standard code set", - "type": "object", "title": "OtherFeeType", + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "FeeCategory": { - "description": "Categorisation of fees and charges into standard categories.", "title": "FeeCategory", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "Other", "Servicing" ] }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "FeeCategory", - "Name", - "Description" - ] + "description": "Other Fee/charge type which is not available in the standard code set" }, "OtherFeeRateType": { - "description": "Other fee rate type which is not available in the standard code set", - "type": "object", "title": "OtherFeeRateType", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other fee rate type which is not available in the standard code set" }, "OtherApplicationFrequency": { - "description": "Other application frequencies not covered in the standard code list", - "type": "object", "title": "OtherApplicationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other application frequencies not covered in the standard code list" }, "OtherCalculationFrequency": { - "description": "Other calculation frequency which is not available in standard code set.", - "type": "object", "title": "OtherCalculationFrequency", + "required": [ + "Description", + "Name" + ], + "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "additionalProperties": false, - "required": [ - "Name", - "Description" - ] + "description": "Other calculation frequency which is not available in standard code set." }, "FeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "array", "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "ServiceCAccountFee", "ServiceCAccountFeeMonthly", "ServiceCOther", "Other" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -8333,150 +12934,144 @@ ] }, "Notes": { - "description": "Free text for adding extra details for fee charge cap", "title": "Notes", "type": "array", + "description": "Free text for adding extra details for fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } }, "FeeApplicableRange": { - "description": "Range or amounts or rates for which the fee/charge applies", - "type": "object", "title": "FeeApplicableRange", + "type": "object", "properties": { "MinimumAmount": { - "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)", "title": "MinimumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" }, "MaximumAmount": { - "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)", "title": "MaximumAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" }, "MinimumRate": { - "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)", "title": "MinimumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" }, "MaximumRate": { - "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)", "title": "MaximumRate", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" } }, - "additionalProperties": false + "description": "Range or amounts or rates for which the fee/charge applies" } }, - "required": [ - "FeeCategory", - "FeeType", - "ApplicationFrequency" - ] - }, - "minItems": 1 + "description": "Other fees/charges details" + } }, "FeeChargeCap": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", - "type": "array", "title": "FeeChargeCap", + "type": "array", + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", "items": { - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge", + "required": [ + "FeeType", + "MinMaxType" + ], "type": "object", "properties": { "FeeType": { - "description": "Fee/charge type which is being capped", "title": "FeeType", + "minItems": 1, "type": "array", + "description": "Fee/charge type which is being capped", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "ServiceCAccountFee", "ServiceCAccountFeeMonthly", "ServiceCOther", "Other" ] - }, - "minItems": 1 + } }, "MinMaxType": { - "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "title": "MinMaxType", "type": "string", + "description": "Indicates that this is the minimum/ maximum fee/charge that can be applied by the financial institution", "enum": [ "Minimum", "Maximum" ] }, "FeeCapOccurrence": { - "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "title": "FeeCapOccurrence", "type": "number", + "description": "fee/charges are captured dependent on the number of occurrences rather than capped at a particular amount", "format": "float" }, "FeeCapAmount": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", "title": "FeeCapAmount", + "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "CappingPeriod": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "title": "CappingPeriod", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "AcademicTerm", "Day", @@ -8488,74 +13083,67 @@ ] }, "Notes": { - "description": "Free text for adding extra details for fee charge cap", "title": "Notes", "type": "array", + "description": "Free text for adding extra details for fee charge cap", "items": { - "description": "maxLength 2000 text", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "maxLength 2000 text" } }, "OtherFeeType": { - "description": "Other fee type code which is not available in the standard code set", - "type": "array", "title": "OtherFeeType", + "type": "array", + "description": "Other fee type code which is not available in the standard code set", "items": { - "description": "Other fee type code which is not available in the standard code set", + "required": [ + "Description", + "Name" + ], "type": "object", "properties": { "Code": { - "description": "The four letter Mnemonic used within an XML file to identify a code", "title": "Code", - "type": "string", - "pattern": "^\\w{0,4}$", + "maxLength": 4, "minLength": 0, - "maxLength": 4 + "pattern": "^\\w{0,4}$", + "type": "string", + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "Name": { - "description": "Long name associated with the code", "title": "Name", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Long name associated with the code" }, "Description": { - "description": "Description to describe the purpose of the code", "title": "Description", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description to describe the purpose of the code" } }, - "required": [ - "Name", - "Description" - ] + "description": "Other fee type code which is not available in the standard code set" } } }, - "required": [ - "FeeType", - "MinMaxType" - ] + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge" } } }, - "additionalProperties": false, - "required": [ - "FeeChargeDetail" - ] + "description": "Contains details of fees and charges which are not associated with either borrowing or features/benefits" } - }, - "additionalProperties": false + } }, "OBParty2": { - "type": "object", "required": [ "PartyId" ], + "type": "object", "properties": { "PartyId": { "$ref": "#/components/schemas/PartyId" @@ -8596,25 +13184,24 @@ "Address": { "type": "array", "items": { - "type": "object", - "description": "Postal address of a party.", "required": [ "Country" ], + "type": "object", "properties": { "AddressType": { "$ref": "#/components/schemas/OBAddressTypeCode" }, "AddressLine": { + "maxItems": 5, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 5 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } }, "StreetName": { "$ref": "#/components/schemas/StreetName" @@ -8634,57 +13221,56 @@ "Country": { "$ref": "#/components/schemas/CountryCode" } - } + }, + "description": "Postal address of a party." } } - }, - "additionalProperties": false + } }, "OBPartyRelationships1": { "type": "object", - "description": "The Party's relationships with other resources.", "properties": { "Account": { - "type": "object", "required": [ - "Related", - "Id" + "Id", + "Related" ], - "description": "Relationship to the Account resource.", + "type": "object", "properties": { "Related": { - "description": "Absolute URI to the related resource.", "type": "string", + "description": "Absolute URI to the related resource.", "format": "uri" }, "Id": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the related resource." } - } + }, + "description": "Relationship to the Account resource." } - } + }, + "description": "The Party's relationships with other resources." }, "OBPostalAddress6": { "type": "object", - "description": "Information that locates and identifies a specific address, as defined by postal services.", "properties": { "AddressType": { "$ref": "#/components/schemas/OBAddressTypeCode" }, "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a division of a large organisation or building." }, "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." }, "StreetName": { "$ref": "#/components/schemas/StreetName" @@ -8699,42 +13285,43 @@ "$ref": "#/components/schemas/TownName" }, "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, "Country": { - "description": "Nation with its own government.", + "pattern": "^[A-Z]{2,2}$", "type": "string", - "pattern": "^[A-Z]{2,2}$" + "description": "Nation with its own government." }, "AddressLine": { + "maxItems": 7, + "minItems": 0, "type": "array", "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." + } } - } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services." }, "OBRate1_0": { - "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)", - "type": "number" + "type": "number", + "description": "Rate charged for Statement Fee (where it is charged in terms of a rate rather than an amount)" }, "OBRate1_1": { - "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary.", - "type": "number" + "type": "number", + "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary." }, - "OBReadAccount5": { - "type": "object", + "OBReadAccount6": { "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", @@ -8753,33 +13340,32 @@ "Meta": { "$ref": "#/components/schemas/Meta" } - }, - "additionalProperties": false + } }, "OBReadBalance1": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", "required": [ "Balance" ], + "type": "object", "properties": { "Balance": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Set of elements used to define the balance details.", "required": [ "AccountId", + "Amount", "CreditDebitIndicator", - "Type", "DateTime", - "Amount" + "Type" ], + "type": "object", "properties": { "AccountId": { "$ref": "#/components/schemas/AccountId" @@ -8791,17 +13377,16 @@ "$ref": "#/components/schemas/OBBalanceType1Code" }, "DateTime": { - "description": "Indicates the date (and time) of the balance.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Indicates the date (and time) of the balance.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Amount": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money of the cash balance.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -8809,24 +13394,24 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Amount of money of the cash balance." }, "CreditLine": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details on the credit line.", "required": [ "Included" ], + "type": "object", "properties": { "Included": { - "description": "Indicates whether or not the credit line is included in the balance of the account.\nUsage: If not present, credit line is not included in the balance amount of the account.", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether or not the credit line is included in the balance of the account.\nUsage: If not present, credit line is not included in the balance amount of the account." }, "Type": { - "description": "Limit type, in a coded form.", "type": "string", + "description": "Limit type, in a coded form.", "enum": [ "Available", "Credit", @@ -8836,12 +13421,11 @@ ] }, "Amount": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money of the credit line.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -8849,14 +13433,16 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Amount of money of the credit line." } - } + }, + "description": "Set of elements used to provide details on the credit line." } } - } - }, - "minItems": 1 + }, + "description": "Set of elements used to define the balance details." + } } } }, @@ -8866,14 +13452,13 @@ "Meta": { "$ref": "#/components/schemas/Meta" } - }, - "additionalProperties": false + } }, "OBReadBeneficiary5": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", @@ -8892,27 +13477,27 @@ "Meta": { "$ref": "#/components/schemas/Meta" } - }, - "additionalProperties": false + } }, "OBReadConsent1": { - "type": "object", "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", "required": [ "Permissions" ], + "type": "object", "properties": { "Permissions": { + "minItems": 1, "type": "array", "items": { - "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", "type": "string", + "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", "enum": [ "ReadAccountsBasic", "ReadAccountsDetail", @@ -8936,22 +13521,21 @@ "ReadTransactionsDebits", "ReadTransactionsDetail" ] - }, - "minItems": 1 + } }, "ExpirationDateTime": { - "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "TransactionFromDateTime": { - "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "TransactionToDateTime": { - "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } } @@ -8959,38 +13543,37 @@ "Risk": { "$ref": "#/components/schemas/OBRisk2" } - }, - "additionalProperties": false + } }, "OBReadConsentResponse1": { - "type": "object", "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", "required": [ "ConsentId", "CreationDateTime", + "Permissions", "Status", - "StatusUpdateDateTime", - "Permissions" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "Unique identification as assigned to identify the account access consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Unique identification as assigned to identify the account access consent resource." }, "CreationDateTime": { "$ref": "#/components/schemas/CreationDateTime" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", @@ -9002,10 +13585,11 @@ "$ref": "#/components/schemas/StatusUpdateDateTime" }, "Permissions": { + "minItems": 1, "type": "array", "items": { - "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", "type": "string", + "description": "Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.", "enum": [ "ReadAccountsBasic", "ReadAccountsDetail", @@ -9029,22 +13613,21 @@ "ReadTransactionsDebits", "ReadTransactionsDetail" ] - }, - "minItems": 1 + } }, "ExpirationDateTime": { - "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified date and time the permissions will expire.\nIf this is not populated, the permissions will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "TransactionFromDateTime": { - "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified start date and time for the transaction query period.\nIf this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "TransactionToDateTime": { - "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified end date and time for the transaction query period.\nIf this is not populated, the end date will be open ended, and data will be returned to the latest available transaction.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } } @@ -9058,8 +13641,7 @@ "Meta": { "$ref": "#/components/schemas/Meta" } - }, - "additionalProperties": false + } }, "OBReadDataStatement2": { "type": "object", @@ -9070,8 +13652,7 @@ "$ref": "#/components/schemas/OBStatement2" } } - }, - "additionalProperties": false + } }, "OBReadDataTransaction6": { "type": "object", @@ -9082,14 +13663,13 @@ "$ref": "#/components/schemas/OBTransaction6" } } - }, - "additionalProperties": false + } }, "OBReadDirectDebit2": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", @@ -9097,13 +13677,12 @@ "DirectDebit": { "type": "array", "items": { - "type": "object", - "description": "Account to or from which a cash entry is made.", "required": [ "AccountId", "MandateIdentification", "Name" ], + "type": "object", "properties": { "AccountId": { "$ref": "#/components/schemas/AccountId" @@ -9124,8 +13703,8 @@ "$ref": "#/components/schemas/PreviousPaymentDateTime" }, "Frequency": { - "description": "Regularity with which direct debit instructions are to be created and processed.", "type": "string", + "description": "Regularity with which direct debit instructions are to be created and processed.", "x-namespaced-enum": [ "UK.OBIE.Annual", "UK.OBIE.Daily", @@ -9140,7 +13719,8 @@ "PreviousPaymentAmount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_0" } - } + }, + "description": "Account to or from which a cash entry is made." } } } @@ -9151,14 +13731,13 @@ "Meta": { "$ref": "#/components/schemas/Meta" } - }, - "additionalProperties": false + } }, "OBReadOffer1": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", @@ -9166,23 +13745,23 @@ "Offer": { "type": "array", "items": { - "type": "object", "required": [ "AccountId" ], + "type": "object", "properties": { "AccountId": { "$ref": "#/components/schemas/AccountId" }, "OfferId": { - "description": "A unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner." }, "OfferType": { - "description": "Offer type, in a coded form.", "type": "string", + "description": "Offer type, in a coded form.", "enum": [ "BalanceTransfer", "LimitIncrease", @@ -9192,49 +13771,48 @@ ] }, "Description": { - "description": "Further details of the offer.", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Further details of the offer." }, "StartDateTime": { - "description": "Date and time at which the offer starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the offer starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "EndDateTime": { - "description": "Date and time at which the offer ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the offer ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Rate": { - "description": "Rate associated with the offer type.", + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" + "description": "Rate associated with the offer type." }, "Value": { - "description": "Value associated with the offer type.", - "type": "integer" + "type": "integer", + "description": "Value associated with the offer type." }, "Term": { - "description": "Further details of the term of the offer.", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Further details of the term of the offer." }, "URL": { - "description": "URL (Uniform Resource Locator) where documentation on the offer can be found", - "type": "string", + "maxLength": 256, "minLength": 1, - "maxLength": 256 + "type": "string", + "description": "URL (Uniform Resource Locator) where documentation on the offer can be found" }, "Amount": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money associated with the offer type.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -9242,15 +13820,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Amount of money associated with the offer type." }, "Fee": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Fee associated with the offer type.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -9258,7 +13836,8 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Fee associated with the offer type." } } } @@ -9271,14 +13850,13 @@ "Meta": { "$ref": "#/components/schemas/Meta" } - }, - "additionalProperties": false + } }, "OBReadParty2": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", @@ -9294,14 +13872,13 @@ "Meta": { "$ref": "#/components/schemas/Meta" } - }, - "additionalProperties": false + } }, "OBReadParty3": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", @@ -9320,54 +13897,50 @@ "Meta": { "$ref": "#/components/schemas/Meta" } - }, - "additionalProperties": false + } }, "OBReadProduct2": { - "type": "object", "required": [ "Data" ], - "description": "Product details of Other Product which is not avaiable in the standard list", + "type": "object", "properties": { "Data": { "type": "object", - "description": "Aligning with the read write specs structure.", "properties": { "Product": { "type": "array", "items": { - "type": "object", - "description": "Product details associated with the Account", "required": [ "AccountId", "ProductType" ], + "type": "object", "properties": { "ProductName": { - "description": "The name of the Product used for marketing purposes from a customer perspective. I.e. what the customer would recognise.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "The name of the Product used for marketing purposes from a customer perspective. I.e. what the customer would recognise." }, "ProductId": { - "description": "The unique ID that has been internally assigned by the financial institution to each of the current account banking products they market to their retail and/or small to medium enterprise (SME) customers.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "The unique ID that has been internally assigned by the financial institution to each of the current account banking products they market to their retail and/or small to medium enterprise (SME) customers." }, "AccountId": { "$ref": "#/components/schemas/AccountId" }, "SecondaryProductId": { - "description": "Any secondary Identification which supports Product Identifier to uniquely identify the current account banking products.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Any secondary Identification which supports Product Identifier to uniquely identify the current account banking products." }, "ProductType": { - "description": "Product type : Personal Current Account, Business Current Account", "type": "string", + "description": "Product type : Personal Current Account, Business Current Account", "enum": [ "BusinessCurrentAccount", "CommercialCreditCard", @@ -9377,30 +13950,29 @@ ] }, "MarketingStateId": { - "description": "Unique and unambiguous identification of a Product Marketing State.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Product Marketing State." }, "OtherProductType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other product type details associated with the account.", + "type": "object", "properties": { "Name": { - "description": "Long name associated with the product", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Long name associated with the product" }, "Description": { - "description": "Description of the Product associated with the account", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Description of the Product associated with the account" }, "ProductDetails": { "type": "object", @@ -9408,8 +13980,8 @@ "Segment": { "type": "array", "items": { - "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd ", "type": "string", + "description": "Market segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd ", "enum": [ "GEAS", "GEBA", @@ -9442,12 +14014,12 @@ } }, "FeeFreeLength": { - "description": "The length/duration of the fee free period", - "type": "integer" + "type": "integer", + "description": "The length/duration of the fee free period" }, "FeeFreeLengthPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the promotional length", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the promotional length", "enum": [ "PACT", "PDAY", @@ -9459,17 +14031,17 @@ ] }, "MonthlyMaximumCharge": { - "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "The maximum relevant charges that could accrue as defined fully in Part 7 of the CMA order" }, "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Core product details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Core product details" } }, "OtherSegment": { @@ -9478,26 +14050,25 @@ } }, "CreditInterest": { - "type": "object", "required": [ "TierBandSet" ], - "description": "Details about the interest that may be payable to the Account holders", + "type": "object", "properties": { "TierBandSet": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "The group of tiers or bands for which credit interest can be applied.", "required": [ - "TierBandMethod", "Destination", - "TierBand" + "TierBand", + "TierBandMethod" ], + "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how credit interest is paid/applied. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the product holder's account balance", "type": "string", + "description": "The methodology of how credit interest is paid/applied. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the product holder's account balance", "enum": [ "INBA", "INTI", @@ -9508,8 +14079,8 @@ "$ref": "#/components/schemas/OB_InterestCalculationMethod1Code" }, "Destination": { - "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", "type": "string", + "description": "Describes whether accrued interest is payable only to the BCA or to another bank account", "enum": [ "INOT", "INPA", @@ -9519,10 +14090,10 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Tier Band Set details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" } }, "OtherCalculationMethod": { @@ -9532,36 +14103,36 @@ "$ref": "#/components/schemas/OB_OtherCodeType1_0" }, "TierBand": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Tier Band Details", "required": [ - "TierValueMinimum", + "AER", "ApplicationFrequency", "FixedVariableInterestRateType", - "AER" + "TierValueMinimum" ], + "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for the Product.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for the Product." }, "TierValueMinimum": { - "description": "Minimum deposit value for which the credit interest tier applies.", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum deposit value for which the credit interest tier applies." }, "TierValueMaximum": { - "description": "Maximum deposit value for which the credit interest tier applies.", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum deposit value for which the credit interest tier applies." }, "CalculationFrequency": { - "description": "How often is credit interest calculated for the account.", "type": "string", + "description": "How often is credit interest calculated for the account.", "enum": [ "FQAT", "FQDY", @@ -9575,8 +14146,8 @@ ] }, "ApplicationFrequency": { - "description": "How often is interest applied to the Product for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's account.", "type": "string", + "description": "How often is interest applied to the Product for this tier/band i.e. how often the financial institution pays accumulated interest to the customer's account.", "enum": [ "FQAT", "FQDY", @@ -9590,8 +14161,8 @@ ] }, "DepositInterestAppliedCoverage": { - "description": "Amount on which Interest applied.", "type": "string", + "description": "Amount on which Interest applied.", "enum": [ "INBA", "INTI", @@ -9602,13 +14173,13 @@ "$ref": "#/components/schemas/OB_InterestFixedVariableType1Code" }, "AER": { - "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nRead more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" }, "BankInterestRateType": { - "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the account holder's account.", "type": "string", + "description": "Interest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the account holder's account.", "enum": [ "INBB", "INFR", @@ -9619,26 +14190,25 @@ ] }, "BankInterestRate": { - "description": "Bank Interest for the product", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Bank Interest for the product" }, "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Tier Band details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" } }, "OtherBankInterestType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other interest rate types which are not available in the standard code list", + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -9649,7 +14219,8 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other interest rate types which are not available in the standard code list" }, "OtherApplicationFrequency": { "$ref": "#/components/schemas/OB_OtherCodeType1_1" @@ -9657,45 +14228,45 @@ "OtherCalculationFrequency": { "$ref": "#/components/schemas/OB_OtherCodeType1_2" } - } - }, - "minItems": 1 + }, + "description": "Tier Band Details" + } } - } - }, - "minItems": 1 + }, + "description": "The group of tiers or bands for which credit interest can be applied." + } } - } + }, + "description": "Details about the interest that may be payable to the Account holders" }, "Overdraft": { - "type": "object", "required": [ "OverdraftTierBandSet" ], - "description": "Borrowing details", + "type": "object", "properties": { "Notes": { "type": "array", "items": { - "description": "Associated Notes about the overdraft rates", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Associated Notes about the overdraft rates" } }, "OverdraftTierBandSet": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Tier band set details", "required": [ - "TierBandMethod", - "OverdraftTierBand" + "OverdraftTierBand", + "TierBandMethod" ], + "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "type": "string", + "description": "The methodology of how overdraft is charged. It can be:\n'Whole' Where the same charge/rate is applied to the entirety of the overdraft balance (where charges are applicable). \n'Tiered' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount tiers defined by the lending financial organisation\n'Banded' Where different charges/rates are applied dependent on overdraft maximum and minimum balance amount bands defined by a government organisation.", "enum": [ "INBA", "INTI", @@ -9703,8 +14274,8 @@ ] }, "OverdraftType": { - "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "type": "string", + "description": "An overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.", "enum": [ "OVCO", "OVOD", @@ -9712,70 +14283,70 @@ ] }, "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft product.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft product." }, "AuthorisedIndicator": { - "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the Overdraft is authorised (Y) or unauthorised (N)" }, "BufferAmount": { - "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply.", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "When a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply." }, "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the overdraft Tier Band Set details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the overdraft Tier Band Set details" } }, "OverdraftTierBand": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Provides overdraft details for a specific tier or band", "required": [ "TierValueMin" ], + "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a overdraft.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a overdraft." }, "TierValueMin": { - "description": "Minimum value of Overdraft Tier/Band", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum value of Overdraft Tier/Band" }, "TierValueMax": { - "description": "Maximum value of Overdraft Tier/Band", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum value of Overdraft Tier/Band" }, "EAR": { - "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft.", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently\nused interchangeably), being the actual annual interest rate of an Overdraft." }, "AgreementLengthMin": { - "description": "Specifies the minimum length of a band for a fixed overdraft agreement", - "type": "integer" + "type": "integer", + "description": "Specifies the minimum length of a band for a fixed overdraft agreement" }, "AgreementLengthMax": { - "description": "Specifies the maximum length of a band for a fixed overdraft agreement", - "type": "integer" + "type": "integer", + "description": "Specifies the maximum length of a band for a fixed overdraft agreement" }, "AgreementPeriod": { - "description": "Specifies the period of a fixed length overdraft agreement", "type": "string", + "description": "Specifies the period of a fixed length overdraft agreement", "enum": [ "PACT", "PDAY", @@ -9787,8 +14358,8 @@ ] }, "OverdraftInterestChargingCoverage": { - "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is �2k and the interest tiers are:- 0-�500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the �Whole� of the account balance, and in the 2nd that it is �Tiered�.", "type": "string", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is \ufffd2k and the interest tiers are:- 0-\ufffd500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the \ufffdWhole\ufffd of the account balance, and in the 2nd that it is \ufffdTiered\ufffd.", "enum": [ "INBA", "INTI", @@ -9796,42 +14367,41 @@ ] }, "BankGuaranteedIndicator": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it\ufffds part of a government scheme, or whether the rate may vary dependent on the applicant\ufffds circumstances." }, "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Tier/band details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Tier/band details" } }, "OverdraftFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Overdraft fees and charges", "required": [ "OverdraftFeeChargeDetail" ], + "type": "object", "properties": { "OverdraftFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FBAO", "FBAR", @@ -9846,8 +14416,7 @@ "FTOT", "FTUT" ] - }, - "minItems": 1 + } }, "MinMaxType": { "$ref": "#/components/schemas/OB_MinMaxType1Code" @@ -9864,21 +14433,20 @@ "Notes": { "type": "array", "items": { - "description": "Notes related to Overdraft fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Notes related to Overdraft fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -9889,32 +14457,34 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OverdraftFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Details about the fees/charges", "required": [ - "FeeType", - "ApplicationFrequency" + "ApplicationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { "$ref": "#/components/schemas/OB_OverdraftFeeType1Code" }, "NegotiableIndicator": { - "description": "Indicates whether fee and charges are negotiable", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" }, "OverdraftControlIndicator": { - "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." }, "IncrementalBorrowingAmount": { "$ref": "#/components/schemas/OB_Amount1_1" @@ -9937,27 +14507,27 @@ "Notes": { "type": "array", "items": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" } }, "OverdraftFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FBAO", "FBAR", @@ -9972,8 +14542,7 @@ "FTOT", "FTUT" ] - }, - "minItems": 1 + } }, "MinMaxType": { "$ref": "#/components/schemas/OB_MinMaxType1Code" @@ -9990,21 +14559,20 @@ "Notes": { "type": "array", "items": { - "description": "Notes related to Overdraft fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Notes related to Overdraft fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -10015,10 +14583,12 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OtherFeeType": { @@ -10033,41 +14603,41 @@ "OtherCalculationFrequency": { "$ref": "#/components/schemas/OB_OtherCodeType1_2" } - } - }, - "minItems": 1 + }, + "description": "Details about the fees/charges" + } } - } + }, + "description": "Overdraft fees and charges" } } - } - }, - "minItems": 1 + }, + "description": "Provides overdraft details for a specific tier or band" + } }, "OverdraftFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Overdraft fees and charges details", "required": [ "OverdraftFeeChargeDetail" ], + "type": "object", "properties": { "OverdraftFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FBAO", "FBAR", @@ -10082,8 +14652,7 @@ "FTOT", "FTUT" ] - }, - "minItems": 1 + } }, "MinMaxType": { "$ref": "#/components/schemas/OB_MinMaxType1Code" @@ -10100,21 +14669,20 @@ "Notes": { "type": "array", "items": { - "description": "Notes related to Overdraft fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Notes related to Overdraft fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -10125,32 +14693,34 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OverdraftFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Details about the fees/charges", "required": [ - "FeeType", - "ApplicationFrequency" + "ApplicationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { "$ref": "#/components/schemas/OB_OverdraftFeeType1Code" }, "NegotiableIndicator": { - "description": "Indicates whether fee and charges are negotiable", - "type": "boolean" + "type": "boolean", + "description": "Indicates whether fee and charges are negotiable" }, "OverdraftControlIndicator": { - "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.", - "type": "boolean" + "type": "boolean", + "description": "Indicates if the fee/charge is already covered by an 'Overdraft Control' fee or not." }, "IncrementalBorrowingAmount": { "$ref": "#/components/schemas/OB_Amount1_1" @@ -10173,27 +14743,27 @@ "Notes": { "type": "array", "items": { - "description": "Free text for capturing any other info related to Overdraft Fees Charge Details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for capturing any other info related to Overdraft Fees Charge Details" } }, "OverdraftFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FBAO", "FBAR", @@ -10208,8 +14778,7 @@ "FTOT", "FTUT" ] - }, - "minItems": 1 + } }, "MinMaxType": { "$ref": "#/components/schemas/OB_MinMaxType1Code" @@ -10226,21 +14795,20 @@ "Notes": { "type": "array", "items": { - "description": "Notes related to Overdraft fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Notes related to Overdraft fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -10251,10 +14819,12 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate." } }, "OtherFeeType": { @@ -10269,49 +14839,50 @@ "OtherCalculationFrequency": { "$ref": "#/components/schemas/OB_OtherCodeType1_2" } - } - }, - "minItems": 1 + }, + "description": "Details about the fees/charges" + } } - } + }, + "description": "Overdraft fees and charges details" } } - } - }, - "minItems": 1 + }, + "description": "Tier band set details" + } } - } + }, + "description": "Borrowing details" }, "LoanInterest": { - "type": "object", "required": [ "LoanInterestTierBandSet" ], - "description": "Details about the interest that may be payable to the SME Loan holders", + "type": "object", "properties": { "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the LoanInterest", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the LoanInterest" } }, "LoanInterestTierBandSet": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "The group of tiers or bands for which debit interest can be applied.", "required": [ - "TierBandMethod", "CalculationMethod", - "LoanInterestTierBand" + "LoanInterestTierBand", + "TierBandMethod" ], + "type": "object", "properties": { "TierBandMethod": { - "description": "The methodology of how credit interest is charged. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the SME Loan balance", "type": "string", + "description": "The methodology of how credit interest is charged. It can be:-\n1. Banded\nInterest rates are banded. i.e. Increasing rate on whole balance as balance increases.\n2. Tiered\nInterest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance.\n3. Whole\nThe same interest rate is applied irrespective of the SME Loan balance", "enum": [ "INBA", "INTI", @@ -10319,10 +14890,10 @@ ] }, "Identification": { - "description": "Loan interest tierbandset identification. Used by loan providers for internal use purpose.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Loan interest tierbandset identification. Used by loan providers for internal use purpose." }, "CalculationMethod": { "$ref": "#/components/schemas/OB_InterestCalculationMethod1Code" @@ -10330,51 +14901,51 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Tier Band Set details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Tier Band Set details" } }, "OtherCalculationMethod": { "$ref": "#/components/schemas/OB_OtherCodeType1_0" }, "LoanInterestTierBand": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Tier Band Details", "required": [ - "TierValueMinimum", - "TierValueMinTerm", - "MinTermPeriod", "FixedVariableInterestRateType", - "RepAPR" + "MinTermPeriod", + "RepAPR", + "TierValueMinTerm", + "TierValueMinimum" ], + "type": "object", "properties": { "Identification": { - "description": "Unique and unambiguous identification of a Tier Band for a SME Loan.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous identification of a Tier Band for a SME Loan." }, "TierValueMinimum": { - "description": "Minimum loan value for which the loan interest tier applies.", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum loan value for which the loan interest tier applies." }, "TierValueMaximum": { - "description": "Maximum loan value for which the loan interest tier applies.", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum loan value for which the loan interest tier applies." }, "TierValueMinTerm": { - "description": "Minimum loan term for which the loan interest tier applies.", - "type": "integer" + "type": "integer", + "description": "Minimum loan term for which the loan interest tier applies." }, "MinTermPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the Minimum Term", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Minimum Term", "enum": [ "PACT", "PDAY", @@ -10386,12 +14957,12 @@ ] }, "TierValueMaxTerm": { - "description": "Maximum loan term for which the loan interest tier applies.", - "type": "integer" + "type": "integer", + "description": "Maximum loan term for which the loan interest tier applies." }, "MaxTermPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the Maximum Term", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the Maximum Term", "enum": [ "PACT", "PDAY", @@ -10406,13 +14977,13 @@ "$ref": "#/components/schemas/OB_InterestFixedVariableType1Code" }, "RepAPR": { - "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nFor SME Loan, this APR is the representative APR which includes any account fees.", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "The annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. \nFor SME Loan, this APR is the representative APR which includes any account fees." }, "LoanProviderInterestRateType": { - "description": "Interest rate types, other than APR, which financial institutions may use to describe the annual interest rate payable for the SME Loan.", "type": "string", + "description": "Interest rate types, other than APR, which financial institutions may use to describe the annual interest rate payable for the SME Loan.", "enum": [ "INBB", "INFR", @@ -10423,26 +14994,25 @@ ] }, "LoanProviderInterestRate": { - "description": "Loan provider Interest for the SME Loan product", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Loan provider Interest for the SME Loan product" }, "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Tier Band details", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Tier Band details" } }, "OtherLoanProviderInterestRateType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other loan interest rate types which are not available in the standard code list", + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -10453,34 +15023,34 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other loan interest rate types which are not available in the standard code list" }, "LoanInterestFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits", "required": [ "LoanInterestFeeChargeDetail" ], + "type": "object", "properties": { "LoanInterestFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Other fees/charges details", "required": [ - "FeeType", "ApplicationFrequency", - "CalculationFrequency" + "CalculationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { "$ref": "#/components/schemas/OB_FeeType1Code" }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { "$ref": "#/components/schemas/OB_Amount1_3" @@ -10500,10 +15070,10 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the fee/charge details.", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." } }, "OtherFeeType": { @@ -10518,25 +15088,25 @@ "OtherCalculationFrequency": { "$ref": "#/components/schemas/OB_OtherCodeType1_7" } - } - }, - "minItems": 1 + }, + "description": "Other fees/charges details" + } }, "LoanInterestFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -10548,8 +15118,7 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { "$ref": "#/components/schemas/OB_MinMaxType1Code" @@ -10566,21 +15135,20 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -10591,45 +15159,47 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" } } - } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" } } - } - }, - "minItems": 1 + }, + "description": "Tier Band Details" + } }, "LoanInterestFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits", "required": [ "LoanInterestFeeChargeDetail" ], + "type": "object", "properties": { "LoanInterestFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Other fees/charges details", "required": [ - "FeeType", "ApplicationFrequency", - "CalculationFrequency" + "CalculationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { "$ref": "#/components/schemas/OB_FeeType1Code" }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { "$ref": "#/components/schemas/OB_Amount1_3" @@ -10649,10 +15219,10 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the fee/charge details.", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." } }, "OtherFeeType": { @@ -10667,25 +15237,25 @@ "OtherCalculationFrequency": { "$ref": "#/components/schemas/OB_OtherCodeType1_7" } - } - }, - "minItems": 1 + }, + "description": "Other fees/charges details" + } }, "LoanInterestFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -10697,8 +15267,7 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { "$ref": "#/components/schemas/OB_MinMaxType1Code" @@ -10715,21 +15284,20 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -10740,28 +15308,31 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (minimum/maximum charges) that apply to a particular fee/charge" } } - } + }, + "description": "Contains details of fees and charges which are not associated with either LoanRepayment or features/benefits" } } - } - }, - "minItems": 1 + }, + "description": "The group of tiers or bands for which debit interest can be applied." + } } - } + }, + "description": "Details about the interest that may be payable to the SME Loan holders" }, "Repayment": { "type": "object", - "description": "Repayment details of the Loan product", "properties": { "RepaymentType": { - "description": "Repayment type", "type": "string", + "description": "Repayment type", "enum": [ "USBA", "USBU", @@ -10779,8 +15350,8 @@ ] }, "RepaymentFrequency": { - "description": "Repayment frequency", "type": "string", + "description": "Repayment frequency", "enum": [ "SMDA", "SMFL", @@ -10794,8 +15365,8 @@ ] }, "AmountType": { - "description": "The repayment is for paying just the interest only or both interest and capital or bullet amount or balance to date etc", "type": "string", + "description": "The repayment is for paying just the interest only or both interest and capital or bullet amount or balance to date etc", "enum": [ "RABD", "RABL", @@ -10809,19 +15380,18 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the Repayment", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the Repayment" } }, "OtherRepaymentType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other repayment type which is not in the standard code list", + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -10832,15 +15402,15 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other repayment type which is not in the standard code list" }, "OtherRepaymentFrequency": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other repayment frequency which is not in the standard code list", + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -10851,15 +15421,15 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other repayment frequency which is not in the standard code list" }, "OtherAmountType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other amount type which is not in the standard code list", + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -10870,32 +15440,32 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other amount type which is not in the standard code list" }, "RepaymentFeeCharges": { - "type": "object", "required": [ "RepaymentFeeChargeDetail" ], - "description": "Applicable fee/charges for repayment such as prepayment, full early repayment or non repayment.", + "type": "object", "properties": { "RepaymentFeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Details about specific fees/charges that are applied for repayment", "required": [ - "FeeType", "ApplicationFrequency", - "CalculationFrequency" + "CalculationFrequency", + "FeeType" ], + "type": "object", "properties": { "FeeType": { "$ref": "#/components/schemas/OB_FeeType1Code" }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { "$ref": "#/components/schemas/OB_Amount1_3" @@ -10915,10 +15485,10 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the fee/charge details.", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." } }, "OtherFeeType": { @@ -10933,25 +15503,25 @@ "OtherCalculationFrequency": { "$ref": "#/components/schemas/OB_OtherCodeType1_7" } - } - }, - "minItems": 1 + }, + "description": "Details about specific fees/charges that are applied for repayment" + } }, "RepaymentFeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "RepaymentFeeChargeCap sets daily, weekly, monthly, yearly limits on the fees that are charged", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -10963,8 +15533,7 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { "$ref": "#/components/schemas/OB_MinMaxType1Code" @@ -10981,21 +15550,20 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -11006,27 +15574,29 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "RepaymentFeeChargeCap sets daily, weekly, monthly, yearly limits on the fees that are charged" } } - } + }, + "description": "Applicable fee/charges for repayment such as prepayment, full early repayment or non repayment." }, "RepaymentHoliday": { "type": "array", "items": { "type": "object", - "description": "Details of capital repayment holiday if any", "properties": { "MaxHolidayLength": { - "description": "The maximum length/duration of a Repayment Holiday", - "type": "integer" + "type": "integer", + "description": "The maximum length/duration of a Repayment Holiday" }, "MaxHolidayPeriod": { - "description": "The unit of period (days, weeks, months etc.) of the repayment holiday", "type": "string", + "description": "The unit of period (days, weeks, months etc.) of the repayment holiday", "enum": [ "PACT", "PDAY", @@ -11040,29 +15610,30 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding details for repayment holiday", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding details for repayment holiday" } } - } + }, + "description": "Details of capital repayment holiday if any" } } - } + }, + "description": "Repayment details of the Loan product" }, "OtherFeesCharges": { "type": "array", "items": { - "type": "object", - "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits", "required": [ "FeeChargeDetail" ], + "type": "object", "properties": { "TariffType": { - "description": "TariffType which defines the fee and charges.", "type": "string", + "description": "TariffType which defines the fee and charges.", "enum": [ "TTEL", "TTMX", @@ -11070,18 +15641,17 @@ ] }, "TariffName": { - "description": "Name of the tariff", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 350 + "type": "string", + "description": "Name of the tariff" }, "OtherTariffType": { - "type": "object", "required": [ - "Name", - "Description" + "Description", + "Name" ], - "description": "Other tariff type which is not in the standard list.", + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -11092,18 +15662,19 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other tariff type which is not in the standard list." }, "FeeChargeDetail": { + "minItems": 1, "type": "array", "items": { - "type": "object", - "description": "Other fees/charges details", "required": [ + "ApplicationFrequency", "FeeCategory", - "FeeType", - "ApplicationFrequency" + "FeeType" ], + "type": "object", "properties": { "FeeCategory": { "$ref": "#/components/schemas/OB_FeeCategory1Code" @@ -11112,8 +15683,8 @@ "$ref": "#/components/schemas/OB_FeeType1Code" }, "NegotiableIndicator": { - "description": "Fee/charge which is usually negotiable rather than a fixed amount", - "type": "boolean" + "type": "boolean", + "description": "Fee/charge which is usually negotiable rather than a fixed amount" }, "FeeAmount": { "$ref": "#/components/schemas/OB_Amount1_3" @@ -11133,27 +15704,27 @@ "Notes": { "type": "array", "items": { - "description": "Optional additional notes to supplement the fee/charge details.", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Optional additional notes to supplement the fee/charge details." } }, "FeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -11165,8 +15736,7 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { "$ref": "#/components/schemas/OB_MinMaxType1Code" @@ -11183,21 +15753,20 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -11208,10 +15777,12 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" } }, "OtherFeeCategoryType": { @@ -11231,49 +15802,49 @@ }, "FeeApplicableRange": { "type": "object", - "description": "Range or amounts or rates for which the fee/charge applies", "properties": { "MinimumAmount": { - "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum Amount on which fee/charge is applicable (where it is expressed as an amount)" }, "MaximumAmount": { - "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum Amount on which fee is applicable (where it is expressed as an amount)" }, "MinimumRate": { - "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Minimum rate on which fee/charge is applicable(where it is expressed as an rate)" }, "MaximumRate": { - "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)", + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Maximum rate on which fee/charge is applicable(where it is expressed as an rate)" } - } + }, + "description": "Range or amounts or rates for which the fee/charge applies" } - } - }, - "minItems": 1 + }, + "description": "Other fees/charges details" + } }, "FeeChargeCap": { "type": "array", "items": { - "type": "object", - "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge", "required": [ "FeeType", "MinMaxType" ], + "type": "object", "properties": { "FeeType": { + "minItems": 1, "type": "array", "items": { - "description": "Fee/charge type which is being capped", "type": "string", + "description": "Fee/charge type which is being capped", "enum": [ "FEPF", "FTOT", @@ -11285,8 +15856,7 @@ "FYMI", "FYXX" ] - }, - "minItems": 1 + } }, "MinMaxType": { "$ref": "#/components/schemas/OB_MinMaxType1Code" @@ -11303,21 +15873,20 @@ "Notes": { "type": "array", "items": { - "description": "Free text for adding extra details for fee charge cap", - "type": "string", + "maxLength": 2000, "minLength": 1, - "maxLength": 2000 + "type": "string", + "description": "Free text for adding extra details for fee charge cap" } }, "OtherFeeType": { "type": "array", "items": { - "type": "object", - "description": "Other fee type code which is not available in the standard code set", "required": [ - "Name", - "Description" + "Description", + "Name" ], + "type": "object", "properties": { "Code": { "$ref": "#/components/schemas/OB_CodeMnemonic" @@ -11328,19 +15897,23 @@ "Description": { "$ref": "#/components/schemas/Description_3" } - } + }, + "description": "Other fee type code which is not available in the standard code set" } } - } + }, + "description": "Details about any caps (maximum charges) that apply to a particular or group of fee/charge" } } - } + }, + "description": "Contains details of fees and charges which are not associated with either Overdraft or features/benefits" } }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "Other product type details associated with the account." }, "BCA": { "$ref": "#/components/schemas/OBBCAData1" @@ -11348,10 +15921,12 @@ "PCA": { "$ref": "#/components/schemas/OBPCAData1" } - } + }, + "description": "Product details associated with the Account" } } - } + }, + "description": "Aligning with the read write specs structure." }, "Links": { "$ref": "#/components/schemas/Links" @@ -11360,13 +15935,13 @@ "$ref": "#/components/schemas/Meta" } }, - "additionalProperties": false + "description": "Product details of Other Product which is not avaiable in the standard list" }, "OBReadScheduledPayment3": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", @@ -11385,14 +15960,13 @@ "Meta": { "$ref": "#/components/schemas/Meta" } - }, - "additionalProperties": false + } }, "OBReadStandingOrder6": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", @@ -11411,14 +15985,13 @@ "Meta": { "$ref": "#/components/schemas/Meta" } - }, - "additionalProperties": false + } }, "OBReadStatement2": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "$ref": "#/components/schemas/OBReadDataStatement2" @@ -11429,14 +16002,13 @@ "Meta": { "$ref": "#/components/schemas/Meta" } - }, - "additionalProperties": false + } }, "OBReadTransaction6": { - "type": "object", "required": [ "Data" ], + "type": "object", "properties": { "Data": { "$ref": "#/components/schemas/OBReadDataTransaction6" @@ -11447,33 +16019,58 @@ "Meta": { "$ref": "#/components/schemas/Meta" } - }, - "additionalProperties": false + } }, "OBRisk2": { - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info.", "type": "object", - "properties": {}, - "additionalProperties": false + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info." }, "OBScheduledPayment3": { - "oneOf": [ - { - "$ref": "#/components/schemas/OBScheduledPayment3Basic" + "required": [ + "AccountId", + "InstructedAmount", + "ScheduledPaymentDateTime", + "ScheduledType" + ], + "type": "object", + "properties": { + "AccountId": { + "$ref": "#/components/schemas/AccountId" }, - { - "$ref": "#/components/schemas/OBScheduledPayment3Detail" + "ScheduledPaymentId": { + "$ref": "#/components/schemas/ScheduledPaymentId" + }, + "ScheduledPaymentDateTime": { + "$ref": "#/components/schemas/ScheduledPaymentDateTime" + }, + "ScheduledType": { + "$ref": "#/components/schemas/OBExternalScheduleType1Code" + }, + "Reference": { + "$ref": "#/components/schemas/Reference" + }, + "DebtorReference": { + "$ref": "#/components/schemas/DebtorReference" + }, + "InstructedAmount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_1" + }, + "CreditorAgent": { + "$ref": "#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_1" + }, + "CreditorAccount": { + "$ref": "#/components/schemas/OBCashAccount5_1" } - ] + } }, "OBScheduledPayment3Basic": { - "type": "object", "required": [ "AccountId", + "InstructedAmount", "ScheduledPaymentDateTime", - "ScheduledType", - "InstructedAmount" + "ScheduledType" ], + "type": "object", "properties": { "AccountId": { "$ref": "#/components/schemas/AccountId" @@ -11496,18 +16093,17 @@ "InstructedAmount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_1" } - }, - "additionalProperties": false + } }, "OBScheduledPayment3Detail": { - "type": "object", "required": [ "AccountId", - "ScheduledPaymentDateTime", - "ScheduledType", + "CreditorAccount", "InstructedAmount", - "CreditorAccount" + "ScheduledPaymentDateTime", + "ScheduledType" ], + "type": "object", "properties": { "AccountId": { "$ref": "#/components/schemas/AccountId" @@ -11536,25 +16132,74 @@ "CreditorAccount": { "$ref": "#/components/schemas/OBCashAccount5_1" } - }, - "additionalProperties": false + } }, "OBStandingOrder6": { - "oneOf": [ - { - "$ref": "#/components/schemas/OBStandingOrder6Basic" + "required": [ + "AccountId", + "Frequency" + ], + "type": "object", + "properties": { + "AccountId": { + "$ref": "#/components/schemas/AccountId" }, - { - "$ref": "#/components/schemas/OBStandingOrder6Detail" + "StandingOrderId": { + "$ref": "#/components/schemas/StandingOrderId" + }, + "Frequency": { + "$ref": "#/components/schemas/Frequency_1" + }, + "Reference": { + "$ref": "#/components/schemas/Reference" + }, + "FirstPaymentDateTime": { + "$ref": "#/components/schemas/FirstPaymentDateTime" + }, + "NextPaymentDateTime": { + "$ref": "#/components/schemas/NextPaymentDateTime" + }, + "LastPaymentDateTime": { + "$ref": "#/components/schemas/LastPaymentDateTime" + }, + "FinalPaymentDateTime": { + "$ref": "#/components/schemas/FinalPaymentDateTime" + }, + "NumberOfPayments": { + "$ref": "#/components/schemas/NumberOfPayments" + }, + "StandingOrderStatusCode": { + "$ref": "#/components/schemas/OBExternalStandingOrderStatus1Code" + }, + "FirstPaymentAmount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_2" + }, + "NextPaymentAmount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_3" + }, + "LastPaymentAmount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_11" + }, + "FinalPaymentAmount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_4" + }, + "CreditorAgent": { + "$ref": "#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_1" + }, + "CreditorAccount": { + "$ref": "#/components/schemas/OBCashAccount5_1" + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" } - ] + } }, "OBStandingOrder6Basic": { - "type": "object", "required": [ "AccountId", "Frequency" ], + "type": "object", "properties": { "AccountId": { "$ref": "#/components/schemas/AccountId" @@ -11601,16 +16246,15 @@ "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - }, - "additionalProperties": false + } }, "OBStandingOrder6Detail": { - "type": "object", "required": [ "AccountId", - "Frequency", - "CreditorAccount" + "CreditorAccount", + "Frequency" ], + "type": "object", "properties": { "AccountId": { "$ref": "#/components/schemas/AccountId" @@ -11663,29 +16307,17 @@ "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - }, - "additionalProperties": false + } }, "OBStatement2": { - "oneOf": [ - { - "$ref": "#/components/schemas/OBStatement2Basic" - }, - { - "$ref": "#/components/schemas/OBStatement2Detail" - } - ] - }, - "OBStatement2Basic": { - "type": "object", - "description": "Provides further details on a statement resource.", "required": [ "AccountId", - "Type", - "StartDateTime", + "CreationDateTime", "EndDateTime", - "CreationDateTime" + "StartDateTime", + "Type" ], + "type": "object", "properties": { "AccountId": { "$ref": "#/components/schemas/AccountId" @@ -11711,21 +16343,20 @@ "StatementDescription": { "type": "array", "items": { - "description": "Other descriptions that may be available for the statement resource.", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Other descriptions that may be available for the statement resource." } }, "StatementBenefit": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource.", "required": [ - "Type", - "Amount" + "Amount", + "Type" ], + "type": "object", "properties": { "Type": { "$ref": "#/components/schemas/OBExternalStatementBenefitType1Code" @@ -11733,19 +16364,19 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_5" } - } + }, + "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource." } }, "StatementFee": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details of a fee for the statement resource.", "required": [ + "Amount", "CreditDebitIndicator", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "Description": { "$ref": "#/components/schemas/Description_1" @@ -11768,19 +16399,19 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_6" } - } + }, + "description": "Set of elements used to provide details of a fee for the statement resource." } }, "StatementInterest": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic interest amount related to the statement resource.", "required": [ + "Amount", "CreditDebitIndicator", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "Description": { "$ref": "#/components/schemas/Description_2" @@ -11803,37 +16434,60 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_7" } - } + }, + "description": "Set of elements used to provide details of a generic interest amount related to the statement resource." } }, - "StatementDateTime": { + "StatementAmount": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic date time for the statement resource.", "required": [ - "DateTime", + "Amount", + "CreditDebitIndicator", "Type" ], + "type": "object", "properties": { - "DateTime": { - "$ref": "#/components/schemas/DateTime" + "CreditDebitIndicator": { + "$ref": "#/components/schemas/OBCreditDebitCode_0" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalStatementAmountType1Code" + }, + "Amount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8" + } + }, + "description": "Set of elements used to provide details of a generic amount for the statement resource." + } + }, + "StatementDateTime": { + "type": "array", + "items": { + "required": [ + "DateTime", + "Type" + ], + "type": "object", + "properties": { + "DateTime": { + "$ref": "#/components/schemas/DateTime" }, "Type": { "$ref": "#/components/schemas/OBExternalStatementDateTimeType1Code" } - } + }, + "description": "Set of elements used to provide details of a generic date time for the statement resource." } }, "StatementRate": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic rate related to the statement resource.", "required": [ "Rate", "Type" ], + "type": "object", "properties": { "Rate": { "$ref": "#/components/schemas/Rate" @@ -11841,18 +16495,207 @@ "Type": { "$ref": "#/components/schemas/OBExternalStatementRateType1Code" } - } + }, + "description": "Set of elements used to provide details of a generic rate related to the statement resource." } }, "StatementValue": { "type": "array", "items": { + "required": [ + "Type", + "Value" + ], + "type": "object", + "properties": { + "Value": { + "$ref": "#/components/schemas/Value" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalStatementValueType1Code" + } + }, + "description": "Set of elements used to provide details of a generic number value related to the statement resource." + } + } + }, + "description": "Provides further details on a statement resource." + }, + "OBStatement2Basic": { + "required": [ + "AccountId", + "CreationDateTime", + "EndDateTime", + "StartDateTime", + "Type" + ], + "type": "object", + "properties": { + "AccountId": { + "$ref": "#/components/schemas/AccountId" + }, + "StatementId": { + "$ref": "#/components/schemas/StatementId" + }, + "StatementReference": { + "$ref": "#/components/schemas/StatementReference" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalStatementType1Code" + }, + "StartDateTime": { + "$ref": "#/components/schemas/StartDateTime" + }, + "EndDateTime": { + "$ref": "#/components/schemas/EndDateTime" + }, + "CreationDateTime": { + "$ref": "#/components/schemas/CreationDateTime" + }, + "StatementDescription": { + "type": "array", + "items": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Other descriptions that may be available for the statement resource." + } + }, + "StatementBenefit": { + "type": "array", + "items": { + "required": [ + "Amount", + "Type" + ], + "type": "object", + "properties": { + "Type": { + "$ref": "#/components/schemas/OBExternalStatementBenefitType1Code" + }, + "Amount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_5" + } + }, + "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource." + } + }, + "StatementFee": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "$ref": "#/components/schemas/Description_1" + }, + "CreditDebitIndicator": { + "$ref": "#/components/schemas/OBCreditDebitCode_0" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalStatementFeeType1Code" + }, + "Rate": { + "$ref": "#/components/schemas/OBRate1_0" + }, + "RateType": { + "$ref": "#/components/schemas/OBExternalStatementFeeRateType1Code" + }, + "Frequency": { + "$ref": "#/components/schemas/OBExternalStatementFeeFrequency1Code" + }, + "Amount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_6" + } + }, + "description": "Set of elements used to provide details of a fee for the statement resource." + } + }, + "StatementInterest": { + "type": "array", + "items": { + "required": [ + "Amount", + "CreditDebitIndicator", + "Type" + ], + "type": "object", + "properties": { + "Description": { + "$ref": "#/components/schemas/Description_2" + }, + "CreditDebitIndicator": { + "$ref": "#/components/schemas/OBCreditDebitCode_0" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalStatementInterestType1Code" + }, + "Rate": { + "$ref": "#/components/schemas/OBRate1_1" + }, + "RateType": { + "$ref": "#/components/schemas/OBExternalStatementInterestRateType1Code" + }, + "Frequency": { + "$ref": "#/components/schemas/OBExternalStatementInterestFrequency1Code" + }, + "Amount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_7" + } + }, + "description": "Set of elements used to provide details of a generic interest amount related to the statement resource." + } + }, + "StatementDateTime": { + "type": "array", + "items": { + "required": [ + "DateTime", + "Type" + ], "type": "object", - "description": "Set of elements used to provide details of a generic number value related to the statement resource.", + "properties": { + "DateTime": { + "$ref": "#/components/schemas/DateTime" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalStatementDateTimeType1Code" + } + }, + "description": "Set of elements used to provide details of a generic date time for the statement resource." + } + }, + "StatementRate": { + "type": "array", + "items": { "required": [ - "Value", + "Rate", "Type" ], + "type": "object", + "properties": { + "Rate": { + "$ref": "#/components/schemas/Rate" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalStatementRateType1Code" + } + }, + "description": "Set of elements used to provide details of a generic rate related to the statement resource." + } + }, + "StatementValue": { + "type": "array", + "items": { + "required": [ + "Type", + "Value" + ], + "type": "object", "properties": { "Value": { "$ref": "#/components/schemas/Value" @@ -11860,22 +16703,22 @@ "Type": { "$ref": "#/components/schemas/OBExternalStatementValueType1Code" } - } + }, + "description": "Set of elements used to provide details of a generic number value related to the statement resource." } } }, - "additionalProperties": false + "description": "Provides further details on a statement resource." }, "OBStatement2Detail": { - "type": "object", - "description": "Provides further details on a statement resource.", "required": [ "AccountId", - "Type", - "StartDateTime", + "CreationDateTime", "EndDateTime", - "CreationDateTime" + "StartDateTime", + "Type" ], + "type": "object", "properties": { "AccountId": { "$ref": "#/components/schemas/AccountId" @@ -11901,21 +16744,20 @@ "StatementDescription": { "type": "array", "items": { - "description": "Other descriptions that may be available for the statement resource.", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Other descriptions that may be available for the statement resource." } }, "StatementBenefit": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource.", "required": [ - "Type", - "Amount" + "Amount", + "Type" ], + "type": "object", "properties": { "Type": { "$ref": "#/components/schemas/OBExternalStatementBenefitType1Code" @@ -11923,19 +16765,19 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_5" } - } + }, + "description": "Set of elements used to provide details of a benefit or reward amount for the statement resource." } }, "StatementFee": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details of a fee for the statement resource.", "required": [ + "Amount", "CreditDebitIndicator", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "Description": { "$ref": "#/components/schemas/Description_1" @@ -11958,19 +16800,19 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_6" } - } + }, + "description": "Set of elements used to provide details of a fee for the statement resource." } }, "StatementInterest": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic interest amount related to the statement resource.", "required": [ + "Amount", "CreditDebitIndicator", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "Description": { "$ref": "#/components/schemas/Description_2" @@ -11993,19 +16835,19 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_7" } - } + }, + "description": "Set of elements used to provide details of a generic interest amount related to the statement resource." } }, "StatementAmount": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic amount for the statement resource.", "required": [ + "Amount", "CreditDebitIndicator", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "CreditDebitIndicator": { "$ref": "#/components/schemas/OBCreditDebitCode_0" @@ -12016,18 +16858,18 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8" } - } + }, + "description": "Set of elements used to provide details of a generic amount for the statement resource." } }, "StatementDateTime": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic date time for the statement resource.", "required": [ "DateTime", "Type" ], + "type": "object", "properties": { "DateTime": { "$ref": "#/components/schemas/DateTime" @@ -12035,18 +16877,18 @@ "Type": { "$ref": "#/components/schemas/OBExternalStatementDateTimeType1Code" } - } + }, + "description": "Set of elements used to provide details of a generic date time for the statement resource." } }, "StatementRate": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic rate related to the statement resource.", "required": [ "Rate", "Type" ], + "type": "object", "properties": { "Rate": { "$ref": "#/components/schemas/Rate" @@ -12054,18 +16896,18 @@ "Type": { "$ref": "#/components/schemas/OBExternalStatementRateType1Code" } - } + }, + "description": "Set of elements used to provide details of a generic rate related to the statement resource." } }, "StatementValue": { "type": "array", "items": { - "type": "object", - "description": "Set of elements used to provide details of a generic number value related to the statement resource.", "required": [ - "Value", - "Type" + "Type", + "Value" ], + "type": "object", "properties": { "Value": { "$ref": "#/components/schemas/Value" @@ -12073,38 +16915,26 @@ "Type": { "$ref": "#/components/schemas/OBExternalStatementValueType1Code" } - } + }, + "description": "Set of elements used to provide details of a generic number value related to the statement resource." } } }, - "additionalProperties": false + "description": "Provides further details on a statement resource." }, "OBSupplementaryData1": { "type": "object", - "properties": {}, - "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." }, "OBTransaction6": { - "oneOf": [ - { - "$ref": "#/components/schemas/OBTransaction6Basic" - }, - { - "$ref": "#/components/schemas/OBTransaction6Detail" - } - ] - }, - "OBTransaction6Basic": { - "type": "object", - "description": "Provides further details on an entry in the report.", "required": [ "AccountId", - "CreditDebitIndicator", - "Status", + "Amount", "BookingDateTime", - "Amount" + "CreditDebitIndicator", + "Status" ], + "type": "object", "properties": { "AccountId": { "$ref": "#/components/schemas/AccountId" @@ -12136,6 +16966,9 @@ "ValueDateTime": { "$ref": "#/components/schemas/ValueDateTime" }, + "TransactionInformation": { + "$ref": "#/components/schemas/TransactionInformation" + }, "AddressLine": { "$ref": "#/components/schemas/AddressLine" }, @@ -12154,6 +16987,24 @@ "ProprietaryBankTransactionCode": { "$ref": "#/components/schemas/ProprietaryBankTransactionCodeStructure1" }, + "Balance": { + "$ref": "#/components/schemas/OBTransactionCashBalance" + }, + "MerchantDetails": { + "$ref": "#/components/schemas/OBMerchantDetails1" + }, + "CreditorAgent": { + "$ref": "#/components/schemas/OBBranchAndFinancialInstitutionIdentification6_1" + }, + "CreditorAccount": { + "$ref": "#/components/schemas/OBCashAccount6_0" + }, + "DebtorAgent": { + "$ref": "#/components/schemas/OBBranchAndFinancialInstitutionIdentification6_2" + }, + "DebtorAccount": { + "$ref": "#/components/schemas/OBCashAccount6_1" + }, "CardInstrument": { "$ref": "#/components/schemas/OBTransactionCardInstrument1" }, @@ -12161,18 +17012,84 @@ "$ref": "#/components/schemas/OBSupplementaryData1" } }, - "additionalProperties": false + "description": "Provides further details on an entry in the report." }, - "OBTransaction6Detail": { - "type": "object", - "description": "Provides further details on an entry in the report.", + "OBTransaction6Basic": { "required": [ "AccountId", + "Amount", + "BookingDateTime", "CreditDebitIndicator", - "Status", + "Status" + ], + "type": "object", + "properties": { + "AccountId": { + "$ref": "#/components/schemas/AccountId" + }, + "TransactionId": { + "$ref": "#/components/schemas/TransactionId" + }, + "TransactionReference": { + "$ref": "#/components/schemas/TransactionReference" + }, + "StatementReference": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StatementReference" + } + }, + "CreditDebitIndicator": { + "$ref": "#/components/schemas/OBCreditDebitCode_1" + }, + "Status": { + "$ref": "#/components/schemas/OBEntryStatus1Code" + }, + "TransactionMutability": { + "$ref": "#/components/schemas/OBTransactionMutability1Code" + }, + "BookingDateTime": { + "$ref": "#/components/schemas/BookingDateTime" + }, + "ValueDateTime": { + "$ref": "#/components/schemas/ValueDateTime" + }, + "AddressLine": { + "$ref": "#/components/schemas/AddressLine" + }, + "Amount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_9" + }, + "ChargeAmount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_10" + }, + "CurrencyExchange": { + "$ref": "#/components/schemas/OBCurrencyExchange5" + }, + "BankTransactionCode": { + "$ref": "#/components/schemas/OBBankTransactionCodeStructure1" + }, + "ProprietaryBankTransactionCode": { + "$ref": "#/components/schemas/ProprietaryBankTransactionCodeStructure1" + }, + "CardInstrument": { + "$ref": "#/components/schemas/OBTransactionCardInstrument1" + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + } + }, + "description": "Provides further details on an entry in the report." + }, + "OBTransaction6Detail": { + "required": [ + "AccountId", + "Amount", "BookingDateTime", - "Amount" + "CreditDebitIndicator", + "Status" ], + "type": "object", "properties": { "AccountId": { "$ref": "#/components/schemas/AccountId" @@ -12250,18 +17167,17 @@ "$ref": "#/components/schemas/OBSupplementaryData1" } }, - "additionalProperties": false + "description": "Provides further details on an entry in the report." }, "OBTransactionCardInstrument1": { - "type": "object", "required": [ "CardSchemeName" ], - "description": "Set of elements to describe the card instrument used in the transaction.", + "type": "object", "properties": { "CardSchemeName": { - "description": "Name of the card scheme.", "type": "string", + "description": "Name of the card scheme.", "enum": [ "AmericanExpress", "Diners", @@ -12271,8 +17187,8 @@ ] }, "AuthorisationType": { - "description": "The card authorisation type.", "type": "string", + "description": "The card authorisation type.", "enum": [ "ConsumerDevice", "Contactless", @@ -12281,28 +17197,27 @@ ] }, "Name": { - "description": "Name of the cardholder using the card instrument.", - "type": "string", + "maxLength": 70, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of the cardholder using the card instrument." }, "Identification": { - "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked.", - "type": "string", + "maxLength": 34, "minLength": 1, - "maxLength": 34 + "type": "string", + "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked." } }, - "additionalProperties": false + "description": "Set of elements to describe the card instrument used in the transaction." }, "OBTransactionCashBalance": { - "type": "object", "required": [ + "Amount", "CreditDebitIndicator", - "Type", - "Amount" + "Type" ], - "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account.", + "type": "object", "properties": { "CreditDebitIndicator": { "$ref": "#/components/schemas/OBCreditDebitCode_2" @@ -12311,12 +17226,11 @@ "$ref": "#/components/schemas/OBBalanceType1Code" }, "Amount": { - "type": "object", "required": [ "Amount", "Currency" ], - "description": "Amount of money of the cash balance after a transaction entry is applied to the account..", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -12324,44 +17238,45 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode_1" } - } + }, + "description": "Amount of money of the cash balance after a transaction entry is applied to the account.." } }, - "additionalProperties": false + "description": "Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account." }, "OB_Amount1_0": { - "description": "Cap amount charged for a fee/charge", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge" }, "OB_Amount1_1": { - "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Every additional tranche of an overdraft balance to which an overdraft fee is applied" }, "OB_Amount1_2": { - "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Amount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)" }, "OB_Amount1_3": { - "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Fee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "OB_Amount1_4": { - "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)", + "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$", "type": "string", - "pattern": "^(-?\\\\d{1,14}){1}(\\\\.\\\\d{1,4}){0,1}$" + "description": "Cap amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)" }, "OB_CodeMnemonic": { - "description": "The four letter Mnemonic used within an XML file to identify a code", + "pattern": "^\\\\w{0,4}$", "type": "string", - "pattern": "^\\\\w{0,4}$" + "description": "The four letter Mnemonic used within an XML file to identify a code" }, "OB_FeeCategory1Code": { - "description": "Categorisation of fees and charges into standard categories.", "type": "string", + "description": "Categorisation of fees and charges into standard categories.", "enum": [ "FCOT", "FCRE", @@ -12369,8 +17284,8 @@ ] }, "OB_FeeFrequency1Code_0": { - "description": "Frequency at which the overdraft charge is applied to the account", "type": "string", + "description": "Frequency at which the overdraft charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -12396,8 +17311,8 @@ ] }, "OB_FeeFrequency1Code_1": { - "description": "How often is the overdraft fee/charge calculated for the account.", "type": "string", + "description": "How often is the overdraft fee/charge calculated for the account.", "enum": [ "FEAC", "FEAO", @@ -12423,8 +17338,8 @@ ] }, "OB_FeeFrequency1Code_2": { - "description": "How frequently the fee/charge is applied to the account", "type": "string", + "description": "How frequently the fee/charge is applied to the account", "enum": [ "FEAC", "FEAO", @@ -12450,8 +17365,8 @@ ] }, "OB_FeeFrequency1Code_3": { - "description": "How frequently the fee/charge is calculated", "type": "string", + "description": "How frequently the fee/charge is calculated", "enum": [ "FEAC", "FEAO", @@ -12477,8 +17392,8 @@ ] }, "OB_FeeFrequency1Code_4": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", "enum": [ "FEAC", "FEAO", @@ -12504,8 +17419,8 @@ ] }, "OB_FeeType1Code": { - "description": "Fee/Charge Type", "type": "string", + "description": "Fee/Charge Type", "enum": [ "FEPF", "FTOT", @@ -12519,8 +17434,8 @@ ] }, "OB_InterestCalculationMethod1Code": { - "description": "Methods of calculating interest", "type": "string", + "description": "Methods of calculating interest", "enum": [ "ITCO", "ITOT", @@ -12528,453 +17443,1552 @@ ] }, "OB_InterestFixedVariableType1Code": { - "description": "Type of interest rate, Fixed or Variable", "type": "string", + "description": "Type of interest rate, Fixed or Variable", "enum": [ "INFI", "INVA" ] }, - "OB_InterestRateType1Code_0": { - "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", - "type": "string", - "enum": [ - "INBB", - "INFR", - "INGR", - "INLR", - "INNE", - "INOT" - ] + "OB_InterestRateType1Code_0": { + "type": "string", + "description": "Rate type for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "OB_InterestRateType1Code_1": { + "type": "string", + "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", + "enum": [ + "INBB", + "INFR", + "INGR", + "INLR", + "INNE", + "INOT" + ] + }, + "OB_MinMaxType1Code": { + "type": "string", + "description": "Min Max type", + "enum": [ + "FMMN", + "FMMX" + ] + }, + "OB_OtherCodeType1_0": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "$ref": "#/components/schemas/OB_CodeMnemonic" + }, + "Name": { + "$ref": "#/components/schemas/Name_4" + }, + "Description": { + "$ref": "#/components/schemas/Description_3" + } + } + }, + "OB_OtherCodeType1_1": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "$ref": "#/components/schemas/OB_CodeMnemonic" + }, + "Name": { + "$ref": "#/components/schemas/Name_4" + }, + "Description": { + "$ref": "#/components/schemas/Description_3" + } + }, + "description": "Other application frequencies that are not available in the standard code list" + }, + "OB_OtherCodeType1_2": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "$ref": "#/components/schemas/OB_CodeMnemonic" + }, + "Name": { + "$ref": "#/components/schemas/Name_4" + }, + "Description": { + "$ref": "#/components/schemas/Description_3" + } + }, + "description": "Other calculation frequency which is not available in the standard code set." + }, + "OB_OtherCodeType1_3": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "$ref": "#/components/schemas/OB_CodeMnemonic" + }, + "Name": { + "$ref": "#/components/schemas/Name_4" + }, + "Description": { + "$ref": "#/components/schemas/Description_3" + } + }, + "description": "Other Fee type which is not available in the standard code set" + }, + "OB_OtherCodeType1_4": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "$ref": "#/components/schemas/OB_CodeMnemonic" + }, + "Name": { + "$ref": "#/components/schemas/Name_4" + }, + "Description": { + "$ref": "#/components/schemas/Description_3" + } + }, + "description": "Other fee rate type code which is not available in the standard code set" + }, + "OB_OtherCodeType1_5": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "$ref": "#/components/schemas/OB_CodeMnemonic" + }, + "Name": { + "$ref": "#/components/schemas/Name_4" + }, + "Description": { + "$ref": "#/components/schemas/Description_3" + } + }, + "description": "Other fee rate type which is not in the standard rate type list" + }, + "OB_OtherCodeType1_6": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "$ref": "#/components/schemas/OB_CodeMnemonic" + }, + "Name": { + "$ref": "#/components/schemas/Name_4" + }, + "Description": { + "$ref": "#/components/schemas/Description_3" + } + }, + "description": "Other application frequencies not covered in the standard code list" + }, + "OB_OtherCodeType1_7": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "$ref": "#/components/schemas/OB_CodeMnemonic" + }, + "Name": { + "$ref": "#/components/schemas/Name_4" + }, + "Description": { + "$ref": "#/components/schemas/Description_3" + } + }, + "description": "Other calculation frequency which is not available in standard code set." + }, + "OB_OtherCodeType1_8": { + "required": [ + "Description", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "$ref": "#/components/schemas/OB_CodeMnemonic" + }, + "Name": { + "$ref": "#/components/schemas/Name_4" + }, + "Description": { + "$ref": "#/components/schemas/Description_3" + } + }, + "description": "Other fee rate type which is not available in the standard code set" + }, + "OB_OtherFeeChargeDetailType": { + "required": [ + "Description", + "FeeCategory", + "Name" + ], + "type": "object", + "properties": { + "Code": { + "$ref": "#/components/schemas/OB_CodeMnemonic" + }, + "FeeCategory": { + "$ref": "#/components/schemas/OB_FeeCategory1Code" + }, + "Name": { + "$ref": "#/components/schemas/Name_4" + }, + "Description": { + "$ref": "#/components/schemas/Description_3" + } + }, + "description": "Other Fee/charge type which is not available in the standard code set" + }, + "OB_OverdraftFeeType1Code": { + "type": "string", + "description": "Overdraft fee type", + "enum": [ + "FBAO", + "FBAR", + "FBEB", + "FBIT", + "FBOR", + "FBOS", + "FBSC", + "FBTO", + "FBUB", + "FBUT", + "FTOT", + "FTUT" + ] + }, + "OB_Period1Code": { + "type": "string", + "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", + "enum": [ + "PACT", + "PDAY", + "PHYR", + "PMTH", + "PQTR", + "PWEK", + "PYER" + ] + }, + "OB_Rate1_0": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)" + }, + "OB_Rate1_1": { + "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)" + }, + "OpeningDate": { + "type": "string", + "description": "Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "PartyId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner." + }, + "PartyNumber": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number assigned by an agent to identify its customer." + }, + "PhoneNumber_0": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a phone number, as defined by telecom services." + }, + "PhoneNumber_1": { + "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}", + "type": "string", + "description": "Collection of information that identifies a mobile phone number, as defined by telecom services." + }, + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "PreviousPaymentDateTime": { + "type": "string", + "description": "Date of most recent direct debit collection.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ProprietaryBankTransactionCodeStructure1": { + "required": [ + "Code" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Proprietary bank transaction code to identify the underlying transaction." + }, + "Issuer": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identification of the issuer of the proprietary bank transaction code." + } + }, + "description": "Set of elements to fully identify a proprietary bank transaction code." + }, + "Rate": { + "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$", + "type": "string", + "description": "Rate associated with the statement rate type." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "OBBeneficiaryType1Code": { + "type": "string", + "description": "Specifies the Beneficiary Type.", + "enum": [ + "Trusted", + "Ordinary" + ] + }, + "ScheduledPaymentDateTime": { + "type": "string", + "description": "The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + }, + "StandingOrderId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner." + }, + "StartDateTime": { + "type": "string", + "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatementId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable." + }, + "StatementReference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference for the statement. This reference may be optionally populated if available." + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + }, + "TransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "TransactionInformation": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text." + }, + "TransactionReference": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context." + }, + "Value": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Value associated with the statement value type." + }, + "ValueDateTime": { + "type": "string", + "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "responses": { + "200AccountAccessConsentsConsentIdRead": { + "description": "Account Access Consents Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadConsentResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadConsentResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadConsentResponse1" + } + } + } + }, + "200AccountsAccountIdBalancesRead": { + "description": "Balances Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadBalance1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadBalance1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadBalance1" + } + } + } + }, + "200AccountsAccountIdBeneficiariesRead": { + "description": "Beneficiaries Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadBeneficiary5" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadBeneficiary5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadBeneficiary5" + } + } + } + }, + "200AccountsAccountIdDirectDebitsRead": { + "description": "Direct Debits Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadDirectDebit2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadDirectDebit2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadDirectDebit2" + } + } + } + }, + "200AccountsAccountIdOffersRead": { + "description": "Offers Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadOffer1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadOffer1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadOffer1" + } + } + } + }, + "200AccountsAccountIdPartiesRead": { + "description": "Parties Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadParty3" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadParty3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadParty3" + } + } + } + }, + "200AccountsAccountIdPartyRead": { + "description": "Parties Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadParty2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadParty2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadParty2" + } + } + } + }, + "200AccountsAccountIdProductRead": { + "description": "Products Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadProduct2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadProduct2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadProduct2" + } + } + } + }, + "200AccountsAccountIdRead": { + "description": "Accounts Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadAccount6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadAccount6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadAccount6" + } + } + } + }, + "200AccountsAccountIdScheduledPaymentsRead": { + "description": "Scheduled Payments Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadScheduledPayment3" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadScheduledPayment3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadScheduledPayment3" + } + } + } + }, + "200AccountsAccountIdStandingOrdersRead": { + "description": "Standing Orders Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadStandingOrder6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadStandingOrder6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadStandingOrder6" + } + } + } + }, + "200AccountsAccountIdStatementsRead": { + "description": "Statements Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + } + } + }, + "200AccountsAccountIdStatementsStatementIdFileRead": { + "description": "Statements Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/File" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/File" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/File" + } + } + } + }, + "200AccountsAccountIdStatementsStatementIdRead": { + "description": "Statements Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + } + } + }, + "200AccountsAccountIdStatementsStatementIdTransactionsRead": { + "description": "Transactions Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + } + } + }, + "200AccountsAccountIdTransactionsRead": { + "description": "Transactions Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + } + } + }, + "200AccountsRead": { + "description": "Accounts Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadAccount6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadAccount6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadAccount6" + } + } + } + }, + "200BalancesRead": { + "description": "Balances Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadBalance1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadBalance1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadBalance1" + } + } + } + }, + "200BeneficiariesRead": { + "description": "Beneficiaries Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadBeneficiary5" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadBeneficiary5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadBeneficiary5" + } + } + } + }, + "200DirectDebitsRead": { + "description": "Direct Debits Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadDirectDebit2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadDirectDebit2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadDirectDebit2" + } + } + } + }, + "200OffersRead": { + "description": "Offers Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadOffer1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadOffer1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadOffer1" + } + } + } }, - "OB_InterestRateType1Code_1": { - "description": "Rate type for Fee/Charge (where it is charged in terms of a rate rather than an amount)", - "type": "string", - "enum": [ - "INBB", - "INFR", - "INGR", - "INLR", - "INNE", - "INOT" - ] + "200PartyRead": { + "description": "Parties Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadParty2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadParty2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadParty2" + } + } + } }, - "OB_MinMaxType1Code": { - "description": "Min Max type", - "type": "string", - "enum": [ - "FMMN", - "FMMX" - ] + "200ProductsRead": { + "description": "Products Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadProduct2" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadProduct2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadProduct2" + } + } + } }, - "OB_OtherCodeType1_0": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "properties": { - "Code": { - "$ref": "#/components/schemas/OB_CodeMnemonic" + "200ScheduledPaymentsRead": { + "description": "Scheduled Payments Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadScheduledPayment3" + } }, - "Name": { - "$ref": "#/components/schemas/Name_4" + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadScheduledPayment3" + } }, - "Description": { - "$ref": "#/components/schemas/Description_3" + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadScheduledPayment3" + } + } + } + }, + "200StandingOrdersRead": { + "description": "Standing Orders Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, - "additionalProperties": false + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadStandingOrder6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadStandingOrder6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadStandingOrder6" + } + } + } }, - "OB_OtherCodeType1_1": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "description": "Other application frequencies that are not available in the standard code list", - "properties": { - "Code": { - "$ref": "#/components/schemas/OB_CodeMnemonic" + "200StatementsRead": { + "description": "Statements Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } }, - "Name": { - "$ref": "#/components/schemas/Name_4" + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } }, - "Description": { - "$ref": "#/components/schemas/Description_3" + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadStatement2" + } + } + } + }, + "200TransactionsRead": { + "description": "Transactions Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, - "additionalProperties": false + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadTransaction6" + } + } + } }, - "OB_OtherCodeType1_2": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "description": "Other calculation frequency which is not available in the standard code set.", - "properties": { - "Code": { - "$ref": "#/components/schemas/OB_CodeMnemonic" + "201AccountAccessConsentsCreated": { + "description": "Account Access Consents Created", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadConsentResponse1" + } }, - "Name": { - "$ref": "#/components/schemas/Name_4" + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadConsentResponse1" + } }, - "Description": { - "$ref": "#/components/schemas/Description_3" + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadConsentResponse1" + } } - }, - "additionalProperties": false + } }, - "OB_OtherCodeType1_3": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "description": "Other Fee type which is not available in the standard code set", - "properties": { - "Code": { - "$ref": "#/components/schemas/OB_CodeMnemonic" - }, - "Name": { - "$ref": "#/components/schemas/Name_4" - }, - "Description": { - "$ref": "#/components/schemas/Description_3" + "204AccountAccessConsentsConsentIdDeleted": { + "description": "Account Access Consents Deleted", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, - "additionalProperties": false + "content": {} }, - "OB_OtherCodeType1_4": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "description": "Other fee rate type code which is not available in the standard code set", - "properties": { - "Code": { - "$ref": "#/components/schemas/OB_CodeMnemonic" - }, - "Name": { - "$ref": "#/components/schemas/Name_4" - }, - "Description": { - "$ref": "#/components/schemas/Description_3" + "400Error": { + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, - "additionalProperties": false - }, - "OB_OtherCodeType1_5": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "description": "Other fee rate type which is not in the standard rate type list", - "properties": { - "Code": { - "$ref": "#/components/schemas/OB_CodeMnemonic" + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } }, - "Name": { - "$ref": "#/components/schemas/Name_4" + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } }, - "Description": { - "$ref": "#/components/schemas/Description_3" + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } } - }, - "additionalProperties": false + } }, - "OB_OtherCodeType1_6": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "description": "Other application frequencies not covered in the standard code list", - "properties": { - "Code": { - "$ref": "#/components/schemas/OB_CodeMnemonic" - }, - "Name": { - "$ref": "#/components/schemas/Name_4" - }, - "Description": { - "$ref": "#/components/schemas/Description_3" + "401Error": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, - "additionalProperties": false + "content": {} }, - "OB_OtherCodeType1_7": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "description": "Other calculation frequency which is not available in standard code set.", - "properties": { - "Code": { - "$ref": "#/components/schemas/OB_CodeMnemonic" - }, - "Name": { - "$ref": "#/components/schemas/Name_4" - }, - "Description": { - "$ref": "#/components/schemas/Description_3" + "403Error": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, - "additionalProperties": false - }, - "OB_OtherCodeType1_8": { - "type": "object", - "required": [ - "Name", - "Description" - ], - "description": "Other fee rate type which is not available in the standard code set", - "properties": { - "Code": { - "$ref": "#/components/schemas/OB_CodeMnemonic" + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } }, - "Name": { - "$ref": "#/components/schemas/Name_4" + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } }, - "Description": { - "$ref": "#/components/schemas/Description_3" + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } } - }, - "additionalProperties": false + } }, - "OB_OtherFeeChargeDetailType": { - "type": "object", - "required": [ - "FeeCategory", - "Name", - "Description" - ], - "description": "Other Fee/charge type which is not available in the standard code set", - "properties": { - "Code": { - "$ref": "#/components/schemas/OB_CodeMnemonic" - }, - "FeeCategory": { - "$ref": "#/components/schemas/OB_FeeCategory1Code" - }, - "Name": { - "$ref": "#/components/schemas/Name_4" - }, - "Description": { - "$ref": "#/components/schemas/Description_3" + "404Error": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, - "additionalProperties": false - }, - "OB_OverdraftFeeType1Code": { - "description": "Overdraft fee type", - "type": "string", - "enum": [ - "FBAO", - "FBAR", - "FBEB", - "FBIT", - "FBOR", - "FBOS", - "FBSC", - "FBTO", - "FBUB", - "FBUT", - "FTOT", - "FTUT" - ] - }, - "OB_Period1Code": { - "description": "Period e.g. day, week, month etc. for which the fee/charge is capped", - "type": "string", - "enum": [ - "PACT", - "PDAY", - "PHYR", - "PMTH", - "PQTR", - "PWEK", - "PYER" - ] - }, - "OB_Rate1_0": { - "description": "Rate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)", - "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" - }, - "OB_Rate1_1": { - "description": "Rate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)", - "type": "string", - "pattern": "^(-?\\\\d{1,3}){1}(\\\\.\\\\d{1,4}){0,1}$" - }, - "OpeningDate": { - "description": "Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "PartyId": { - "description": "A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "PartyNumber": { - "description": "Number assigned by an agent to identify its customer.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "PhoneNumber_0": { - "description": "Collection of information that identifies a phone number, as defined by telecom services.", - "type": "string", - "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}" - }, - "PhoneNumber_1": { - "description": "Collection of information that identifies a mobile phone number, as defined by telecom services.", - "type": "string", - "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}" - }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "PreviousPaymentDateTime": { - "description": "Date of most recent direct debit collection.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "content": {} }, - "ProprietaryBankTransactionCodeStructure1": { - "type": "object", - "required": [ - "Code" - ], - "description": "Set of elements to fully identify a proprietary bank transaction code.", - "properties": { - "Code": { - "description": "Proprietary bank transaction code to identify the underlying transaction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Issuer": { - "description": "Identification of the issuer of the proprietary bank transaction code.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "405Error": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } }, - "additionalProperties": false + "content": {} }, - "Rate": { - "description": "Rate associated with the statement rate type.", - "type": "string", - "pattern": "^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "406Error": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - "OBBeneficiaryType1Code": { - "description": "Specifies the Beneficiary Type.", - "type": "string", - "enum": [ - "Trusted", - "Ordinary" - ] + "415Error": { + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, - "ScheduledPaymentDateTime": { - "description": "The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "429Error": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, - "ScheduledPaymentId": { - "description": "A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 + "500Error": { + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + } + }, + "parameters": { + "FromBookingDateTimeParam": { + "name": "fromBookingDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter transactions FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 + "ToBookingDateTimeParam": { + "name": "toBookingDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter transactions TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } }, - "StandingOrderId": { - "description": "A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 40 + "FromStatementDateTimeParam": { + "name": "fromStatementDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter statements FROM\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } }, - "StartDateTime": { - "description": "Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "ToStatementDateTimeParam": { + "name": "toStatementDateTime", + "in": "query", + "description": "The UTC ISO 8601 Date Time to filter statements TO\nNB Time component is optional - set to 00:00:00 for just Date.\nIf the Date Time contains a timezone, the ASPSP must ignore the timezone component.", + "schema": { + "type": "string", + "format": "date-time" + } }, - "StatementId": { - "description": "Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 40 + "ConsentId": { + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, - "StatementReference": { - "description": "Unique reference for the statement. This reference may be optionally populated if available.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "AccountId": { + "name": "AccountId", + "in": "path", + "description": "AccountId", + "required": true, + "schema": { + "type": "string" + } }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "StatementId": { + "name": "StatementId", + "in": "path", + "description": "StatementId", + "required": true, + "schema": { + "type": "string" + } }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 + "Authorization": { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "x-customer-user-agent": { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } }, - "TransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 210 + "x-fapi-customer-ip-address": { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, - "TransactionInformation": { - "description": "Further details of the transaction. \nThis is the transaction narrative, which is unstructured text.", - "type": "string", - "minLength": 1, - "maxLength": 500 + "x-fapi-auth-date": { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, - "TransactionReference": { - "description": "Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context.", - "type": "string", - "minLength": 1, - "maxLength": 210 + "x-fapi-interaction-id": { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, - "Value": { - "description": "Value associated with the statement value type.", - "type": "string", - "minLength": 1, - "maxLength": 40 + "x-idempotency-key": { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, - "ValueDateTime": { - "description": "Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry.\nUsage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date.\nFor transaction entries subject to availability/float and for which availability information is provided, the value date must not be used. In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "x-jws-signature": { + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + } + }, + "requestBodies": { + "OBReadConsent1Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBReadConsent1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/OBReadConsent1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBReadConsent1" + } + } + }, + "required": true } }, "securitySchemes": { diff --git a/dist/openapi/account-info-openapi.yaml b/dist/openapi/account-info-openapi.yaml index b36144eb..6295fe49 100644 --- a/dist/openapi/account-info-openapi.yaml +++ b/dist/openapi/account-info-openapi.yaml @@ -1,1929 +1,4857 @@ openapi: 3.0.1 info: title: Account and Transaction API Specification - description: OpenAPI for Account and Transaction API Specification - termsOfService: 'https://www.openbanking.org.uk/terms' + description: Swagger for Account and Transaction API Specification + termsOfService: https://www.openbanking.org.uk/terms contact: name: Service Desk email: ServiceDesk@openbanking.org.uk license: name: open-licence - url: 'https://www.openbanking.org.uk/open-licence' - version: v3.1.5 + url: https://www.openbanking.org.uk/open-licence + version: v3.1.6 +servers: +- url: /open-banking/v3.1/aisp paths: /account-access-consents: post: tags: - - Account Access + - Account Access summary: Create Account Access Consents operationId: CreateAccountAccessConsents parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadConsent1' + application/json: + schema: + $ref: '#/components/schemas/OBReadConsent1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadConsent1' + required: true responses: - '201': - $ref: '#/components/responses/201AccountAccessConsentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: Account Access Consents Created + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadConsentResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBReadConsentResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadConsentResponse1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - accounts - requestBody: - $ref: '#/components/requestBodies/OBReadConsent1Param' - '/account-access-consents/{ConsentId}': + - TPPOAuth2Security: + - accounts + x-codegen-request-body-name: OBReadConsent1Param + /account-access-consents/{ConsentId}: get: tags: - - Account Access + - Account Access summary: Get Account Access Consents operationId: GetAccountAccessConsentsConsentId parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountAccessConsentsConsentIdRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Account Access Consents Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadConsentResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBReadConsentResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadConsentResponse1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - accounts + - TPPOAuth2Security: + - accounts delete: tags: - - Account Access + - Account Access summary: Delete Account Access Consents operationId: DeleteAccountAccessConsentsConsentId parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '204': - $ref: '#/components/responses/204AccountAccessConsentsConsentIdDeleted' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 204: + description: Account Access Consents Deleted + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - accounts + - TPPOAuth2Security: + - accounts /accounts: get: tags: - - Accounts + - Accounts summary: Get Accounts operationId: GetAccounts parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountsRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Accounts Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadAccount6' + application/json: + schema: + $ref: '#/components/schemas/OBReadAccount6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadAccount6' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}: get: tags: - - Accounts + - Accounts summary: Get Accounts operationId: GetAccountsAccountId parameters: - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Accounts Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadAccount6' + application/json: + schema: + $ref: '#/components/schemas/OBReadAccount6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadAccount6' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/balances': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/balances: get: tags: - - Balances + - Balances summary: Get Balances operationId: GetAccountsAccountIdBalances parameters: - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdBalancesRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Balances Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadBalance1' + application/json: + schema: + $ref: '#/components/schemas/OBReadBalance1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadBalance1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/beneficiaries': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/beneficiaries: get: tags: - - Beneficiaries + - Beneficiaries summary: Get Beneficiaries operationId: GetAccountsAccountIdBeneficiaries parameters: - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdBeneficiariesRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Beneficiaries Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadBeneficiary5' + application/json: + schema: + $ref: '#/components/schemas/OBReadBeneficiary5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadBeneficiary5' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/direct-debits': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/direct-debits: get: tags: - - Direct Debits + - Direct Debits summary: Get Direct Debits operationId: GetAccountsAccountIdDirectDebits parameters: - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdDirectDebitsRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Direct Debits Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadDirectDebit2' + application/json: + schema: + $ref: '#/components/schemas/OBReadDirectDebit2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadDirectDebit2' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/offers': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/offers: get: tags: - - Offers + - Offers summary: Get Offers operationId: GetAccountsAccountIdOffers parameters: - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdOffersRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Offers Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadOffer1' + application/json: + schema: + $ref: '#/components/schemas/OBReadOffer1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadOffer1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/parties': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/parties: get: tags: - - Parties + - Parties summary: Get Parties operationId: GetAccountsAccountIdParties parameters: - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdPartiesRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Parties Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadParty3' + application/json: + schema: + $ref: '#/components/schemas/OBReadParty3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadParty3' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/party': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/party: get: tags: - - Parties + - Parties summary: Get Parties operationId: GetAccountsAccountIdParty parameters: - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdPartyRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Parties Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadParty2' + application/json: + schema: + $ref: '#/components/schemas/OBReadParty2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadParty2' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/product': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/product: get: tags: - - Products + - Products summary: Get Products operationId: GetAccountsAccountIdProduct parameters: - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdProductRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Products Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadProduct2' + application/json: + schema: + $ref: '#/components/schemas/OBReadProduct2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadProduct2' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/scheduled-payments': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/scheduled-payments: get: tags: - - Scheduled Payments + - Scheduled Payments summary: Get Scheduled Payments operationId: GetAccountsAccountIdScheduledPayments parameters: - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdScheduledPaymentsRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Scheduled Payments Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadScheduledPayment3' + application/json: + schema: + $ref: '#/components/schemas/OBReadScheduledPayment3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadScheduledPayment3' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/standing-orders': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/standing-orders: get: tags: - - Standing Orders + - Standing Orders summary: Get Standing Orders operationId: GetAccountsAccountIdStandingOrders parameters: - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdStandingOrdersRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Standing Orders Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadStandingOrder6' + application/json: + schema: + $ref: '#/components/schemas/OBReadStandingOrder6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadStandingOrder6' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/statements': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/statements: get: tags: - - Statements + - Statements summary: Get Statements operationId: GetAccountsAccountIdStatements parameters: - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' - - $ref: '#/components/parameters/FromStatementDateTimeParam' - - $ref: '#/components/parameters/ToStatementDateTimeParam' + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + - name: fromStatementDateTime + in: query + description: |- + The UTC ISO 8601 Date Time to filter statements FROM + NB Time component is optional - set to 00:00:00 for just Date. + If the Date Time contains a timezone, the ASPSP must ignore the timezone component. + schema: + type: string + format: date-time + - name: toStatementDateTime + in: query + description: |- + The UTC ISO 8601 Date Time to filter statements TO + NB Time component is optional - set to 00:00:00 for just Date. + If the Date Time contains a timezone, the ASPSP must ignore the timezone component. + schema: + type: string + format: date-time responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdStatementsRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Statements Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadStatement2' + application/json: + schema: + $ref: '#/components/schemas/OBReadStatement2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadStatement2' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/statements/{StatementId}': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/statements/{StatementId}: get: tags: - - Statements + - Statements summary: Get Statements operationId: GetAccountsAccountIdStatementsStatementId parameters: - - $ref: '#/components/parameters/StatementId' - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: StatementId + in: path + description: StatementId + required: true + schema: + type: string + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdStatementsStatementIdRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Statements Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadStatement2' + application/json: + schema: + $ref: '#/components/schemas/OBReadStatement2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadStatement2' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/statements/{StatementId}/file': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/statements/{StatementId}/file: get: tags: - - Statements + - Statements summary: Get Statements operationId: GetAccountsAccountIdStatementsStatementIdFile parameters: - - $ref: '#/components/parameters/StatementId' - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: StatementId + in: path + description: StatementId + required: true + schema: + type: string + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200AccountsAccountIdStatementsStatementIdFileRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Statements Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/File' + application/json: + schema: + $ref: '#/components/schemas/File' + application/jose+jwe: + schema: + $ref: '#/components/schemas/File' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/statements/{StatementId}/transactions': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/statements/{StatementId}/transactions: get: tags: - - Transactions + - Transactions summary: Get Transactions operationId: GetAccountsAccountIdStatementsStatementIdTransactions parameters: - - $ref: '#/components/parameters/StatementId' - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: StatementId + in: path + description: StatementId + required: true + schema: + type: string + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200AccountsAccountIdStatementsStatementIdTransactionsRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Transactions Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + application/json: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts - '/accounts/{AccountId}/transactions': + - PSUOAuth2Security: + - accounts + /accounts/{AccountId}/transactions: get: tags: - - Transactions + - Transactions summary: Get Transactions operationId: GetAccountsAccountIdTransactions parameters: - - $ref: '#/components/parameters/AccountId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' - - $ref: '#/components/parameters/FromBookingDateTimeParam' - - $ref: '#/components/parameters/ToBookingDateTimeParam' + - name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + - name: fromBookingDateTime + in: query + description: |- + The UTC ISO 8601 Date Time to filter transactions FROM + NB Time component is optional - set to 00:00:00 for just Date. + If the Date Time contains a timezone, the ASPSP must ignore the timezone component. + schema: + type: string + format: date-time + - name: toBookingDateTime + in: query + description: |- + The UTC ISO 8601 Date Time to filter transactions TO + NB Time component is optional - set to 00:00:00 for just Date. + If the Date Time contains a timezone, the ASPSP must ignore the timezone component. + schema: + type: string + format: date-time responses: - '200': - $ref: '#/components/responses/200AccountsAccountIdTransactionsRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Transactions Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + application/json: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts + - PSUOAuth2Security: + - accounts /balances: get: tags: - - Balances + - Balances summary: Get Balances operationId: GetBalances parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200BalancesRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Balances Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadBalance1' + application/json: + schema: + $ref: '#/components/schemas/OBReadBalance1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadBalance1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts + - PSUOAuth2Security: + - accounts /beneficiaries: get: tags: - - Beneficiaries + - Beneficiaries summary: Get Beneficiaries operationId: GetBeneficiaries parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200BeneficiariesRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Beneficiaries Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadBeneficiary5' + application/json: + schema: + $ref: '#/components/schemas/OBReadBeneficiary5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadBeneficiary5' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts + - PSUOAuth2Security: + - accounts /direct-debits: get: tags: - - Direct Debits + - Direct Debits summary: Get Direct Debits operationId: GetDirectDebits parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200DirectDebitsRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Direct Debits Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadDirectDebit2' + application/json: + schema: + $ref: '#/components/schemas/OBReadDirectDebit2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadDirectDebit2' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts + - PSUOAuth2Security: + - accounts /offers: get: tags: - - Offers + - Offers summary: Get Offers operationId: GetOffers parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200OffersRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Offers Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadOffer1' + application/json: + schema: + $ref: '#/components/schemas/OBReadOffer1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadOffer1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts + - PSUOAuth2Security: + - accounts /party: get: tags: - - Parties + - Parties summary: Get Parties operationId: GetParty parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200PartyRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Parties Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadParty2' + application/json: + schema: + $ref: '#/components/schemas/OBReadParty2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadParty2' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts + - PSUOAuth2Security: + - accounts /products: get: tags: - - Products + - Products summary: Get Products operationId: GetProducts parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200ProductsRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Products Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadProduct2' + application/json: + schema: + $ref: '#/components/schemas/OBReadProduct2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadProduct2' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts + - PSUOAuth2Security: + - accounts /scheduled-payments: get: tags: - - Scheduled Payments + - Scheduled Payments summary: Get Scheduled Payments operationId: GetScheduledPayments parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200ScheduledPaymentsRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Scheduled Payments Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadScheduledPayment3' + application/json: + schema: + $ref: '#/components/schemas/OBReadScheduledPayment3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadScheduledPayment3' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts + - PSUOAuth2Security: + - accounts /standing-orders: get: tags: - - Standing Orders + - Standing Orders summary: Get Standing Orders operationId: GetStandingOrders parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200StandingOrdersRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Standing Orders Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadStandingOrder6' + application/json: + schema: + $ref: '#/components/schemas/OBReadStandingOrder6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadStandingOrder6' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts + - PSUOAuth2Security: + - accounts /statements: get: tags: - - Statements + - Statements summary: Get Statements operationId: GetStatements parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/FromStatementDateTimeParam' - - $ref: '#/components/parameters/ToStatementDateTimeParam' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: fromStatementDateTime + in: query + description: |- + The UTC ISO 8601 Date Time to filter statements FROM + NB Time component is optional - set to 00:00:00 for just Date. + If the Date Time contains a timezone, the ASPSP must ignore the timezone component. + schema: + type: string + format: date-time + - name: toStatementDateTime + in: query + description: |- + The UTC ISO 8601 Date Time to filter statements TO + NB Time component is optional - set to 00:00:00 for just Date. + If the Date Time contains a timezone, the ASPSP must ignore the timezone component. + schema: + type: string + format: date-time + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200StatementsRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Statements Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadStatement2' + application/json: + schema: + $ref: '#/components/schemas/OBReadStatement2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadStatement2' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts + - PSUOAuth2Security: + - accounts /transactions: get: tags: - - Transactions + - Transactions summary: Get Transactions operationId: GetTransactions parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' - - $ref: '#/components/parameters/FromBookingDateTimeParam' - - $ref: '#/components/parameters/ToBookingDateTimeParam' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + - name: fromBookingDateTime + in: query + description: |- + The UTC ISO 8601 Date Time to filter transactions FROM + NB Time component is optional - set to 00:00:00 for just Date. + If the Date Time contains a timezone, the ASPSP must ignore the timezone component. + schema: + type: string + format: date-time + - name: toBookingDateTime + in: query + description: |- + The UTC ISO 8601 Date Time to filter transactions TO + NB Time component is optional - set to 00:00:00 for just Date. + If the Date Time contains a timezone, the ASPSP must ignore the timezone component. + schema: + type: string + format: date-time responses: - '200': - $ref: '#/components/responses/200TransactionsRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Transactions Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + application/json: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - accounts + - PSUOAuth2Security: + - accounts components: - parameters: - FromBookingDateTimeParam: - in: query - name: fromBookingDateTime - description: >- - The UTC ISO 8601 Date Time to filter transactions FROM - - NB Time component is optional - set to 00:00:00 for just Date. - - If the Date Time contains a timezone, the ASPSP must ignore the timezone - component. - schema: - type: string - format: date-time - ToBookingDateTimeParam: - in: query - name: toBookingDateTime - description: >- - The UTC ISO 8601 Date Time to filter transactions TO - - NB Time component is optional - set to 00:00:00 for just Date. - - If the Date Time contains a timezone, the ASPSP must ignore the timezone - component. - schema: - type: string - format: date-time - FromStatementDateTimeParam: - in: query - name: fromStatementDateTime - description: >- - The UTC ISO 8601 Date Time to filter statements FROM - - NB Time component is optional - set to 00:00:00 for just Date. - - If the Date Time contains a timezone, the ASPSP must ignore the timezone - component. - schema: - type: string - format: date-time - ToStatementDateTimeParam: - in: query - name: toStatementDateTime - description: >- - The UTC ISO 8601 Date Time to filter statements TO - - NB Time component is optional - set to 00:00:00 for just Date. - - If the Date Time contains a timezone, the ASPSP must ignore the timezone - component. - schema: - type: string - format: date-time - ConsentId: - name: ConsentId - in: path - description: ConsentId - required: true - schema: - type: string + schemas: AccountId: - name: AccountId - in: path - description: AccountId - required: true - schema: - type: string - StatementId: - name: StatementId - in: path - description: StatementId - required: true - schema: - type: string - Authorization: - in: header - name: Authorization - required: true - description: 'An Authorisation Token as per https://tools.ietf.org/html/rfc6750' - schema: - type: string - x-customer-user-agent: - in: header - name: x-customer-user-agent - description: Indicates the user-agent that the PSU is using. - required: false - schema: - type: string - x-fapi-customer-ip-address: - in: header - name: x-fapi-customer-ip-address - required: false - description: The PSU's IP address if the PSU is currently logged in with the TPP. - schema: - type: string - x-fapi-auth-date: - in: header - name: x-fapi-auth-date - required: false - description: >- - The time when the PSU last logged in with the TPP. - - All dates in the HTTP headers are represented as RFC 7231 Full Dates. An - example is below: - - Sun, 10 Sep 2017 19:43:31 UTC - schema: - type: string - pattern: >- - ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} - (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} - \d{2}:\d{2}:\d{2} (GMT|UTC)$ - x-fapi-interaction-id: - in: header - name: x-fapi-interaction-id - required: false - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-idempotency-key: - name: x-idempotency-key - in: header - description: | - Every request will be processed only once per x-idempotency-key. The - Idempotency Key will be valid for 24 hours. - required: true - schema: - type: string - pattern: ^(?!\s)(.*)(\S)$ - maxLength: 40 - x-jws-signature: - in: header - name: x-jws-signature - required: true - description: A detached JWS signature of the body of the payload. - schema: - type: string - requestBodies: - OBReadConsent1Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadConsent1' - required: true - responses: - 201AccountAccessConsentsCreated: - description: Account Access Consents Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadConsentResponse1' - 200AccountAccessConsentsConsentIdRead: - description: Account Access Consents Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadConsentResponse1' - 204AccountAccessConsentsConsentIdDeleted: - description: Account Access Consents Deleted - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 200AccountsRead: - description: Accounts Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadAccount5' - 200AccountsAccountIdRead: - description: Accounts Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadAccount5' - 200AccountsAccountIdBalancesRead: - description: Balances Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadBalance1' - 200BalancesRead: - description: Balances Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadBalance1' - 200AccountsAccountIdBeneficiariesRead: - description: Beneficiaries Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadBeneficiary5' - 200BeneficiariesRead: - description: Beneficiaries Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadBeneficiary5' - 200AccountsAccountIdDirectDebitsRead: - description: Direct Debits Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadDirectDebit2' - 200DirectDebitsRead: - description: Direct Debits Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadDirectDebit2' - 200AccountsAccountIdOffersRead: - description: Offers Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadOffer1' - 200OffersRead: - description: Offers Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadOffer1' - 200AccountsAccountIdPartiesRead: - description: Parties Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadParty3' - 200AccountsAccountIdPartyRead: - description: Parties Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadParty2' - 200PartyRead: - description: Parties Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadParty2' - 200AccountsAccountIdProductRead: - description: Products Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadProduct2' - 200ProductsRead: - description: Products Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadProduct2' - 200AccountsAccountIdScheduledPaymentsRead: - description: Scheduled Payments Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadScheduledPayment3' - 200ScheduledPaymentsRead: - description: Scheduled Payments Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadScheduledPayment3' - 200AccountsAccountIdStandingOrdersRead: - description: Standing Orders Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadStandingOrder6' - 200StandingOrdersRead: - description: Standing Orders Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadStandingOrder6' - 200AccountsAccountIdStatementsRead: - description: Statements Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadStatement2' - 200AccountsAccountIdStatementsStatementIdRead: - description: Statements Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadStatement2' - 200AccountsAccountIdStatementsStatementIdFileRead: - description: Statements Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/File' - 200AccountsAccountIdStatementsStatementIdTransactionsRead: - description: Transactions Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadTransaction6' - 200StatementsRead: - description: Statements Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadStatement2' - 200AccountsAccountIdTransactionsRead: - description: Transactions Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadTransaction6' - 200TransactionsRead: - description: Transactions Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBReadTransaction6' - 400Error: - description: Bad request - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBErrorResponse1' - 401Error: - description: Unauthorized - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 403Error: - description: Forbidden - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBErrorResponse1' - 404Error: - description: Not found - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 405Error: - description: Method Not Allowed - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 406Error: - description: Not Acceptable - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 415Error: - description: Unsupported Media Type - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 429Error: - description: Too Many Requests - headers: - Retry-After: - description: Number in seconds to wait - schema: - type: integer - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 500Error: - description: Internal Server Error - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBErrorResponse1' - schemas: - AccountId: - description: >- - A unique and immutable identifier used to identify the account resource. - This identifier has no meaning to the account owner. - type: string - minLength: 1 maxLength: 40 + minLength: 1 + type: string + description: A unique and immutable identifier used to identify the account + resource. This identifier has no meaning to the account owner. ActiveOrHistoricCurrencyCode_0: - description: >- - Identification of the currency in which the account is held. - - Usage: Currency should only be used in case one and the same account - number covers several currencies - - and the initiating party needs to identify which currency needs to be - used for settlement on the account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: "Identification of the currency in which the account is held. \n\ + Usage: Currency should only be used in case one and the same account number\ + \ covers several currencies\nand the initiating party needs to identify which\ + \ currency needs to be used for settlement on the account." ActiveOrHistoricCurrencyCode_1: - description: >- - A code allocated to a currency by a Maintenance Agency under an - international identification scheme, as described in the latest edition - of the international standard ISO 4217 "Codes for the representation of - currencies and funds". + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: A code allocated to a currency by a Maintenance Agency under an + international identification scheme, as described in the latest edition of + the international standard ISO 4217 "Codes for the representation of currencies + and funds". AddressLine: - description: >- - Information that locates and identifies a specific address for a - transaction entry, that is presented in free format text. - type: string - minLength: 1 maxLength: 70 - BeneficiaryId: - description: >- - A unique and immutable identifier used to identify the beneficiary - resource. This identifier has no meaning to the account owner. - type: string minLength: 1 + type: string + description: Information that locates and identifies a specific address for + a transaction entry, that is presented in free format text. + BeneficiaryId: maxLength: 40 + minLength: 1 + type: string + description: A unique and immutable identifier used to identify the beneficiary + resource. This identifier has no meaning to the account owner. BookingDateTime: - description: >- - Date and time when a transaction entry is posted to an account on the - account servicer's books. - - Usage: Booking date is the expected booking date, unless the status is - booked, in which case it is the actual booking date.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time when a transaction entry is posted to an account\ + \ on the account servicer's books.\nUsage: Booking date is the expected booking\ + \ date, unless the status is booked, in which case it is the actual booking\ + \ date.All dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time BuildingNumber: - description: Number that identifies the position of a building on a street. - type: string - minLength: 1 maxLength: 16 + minLength: 1 + type: string + description: Number that identifies the position of a building on a street. CountryCode: - description: 'Nation with its own government, occupying a particular territory.' + pattern: ^[A-Z]{2,2}$ type: string - pattern: '^[A-Z]{2,2}$' + description: Nation with its own government, occupying a particular territory. CountrySubDivision: - description: 'Identifies a subdivision of a country eg, state, region, county.' - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Identifies a subdivision of a country eg, state, region, county. CreationDateTime: - description: >- - Date and time at which the resource was created.All dates in the JSON - payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource was created.All dates in the\ + \ JSON payloads are represented in ISO 8601 date-time format. \nAll date-time\ + \ fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time DateTime: - description: >- - Date and time associated with the date time type.All dates in the JSON - payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time associated with the date time type.All dates in\ + \ the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time\ + \ fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time DebtorReference: - description: >- - A reference value provided by the PSU to the PISP while setting up the - scheduled payment. - type: string - minLength: 1 maxLength: 35 - Description_0: - description: Specifies the description of the account type. - type: string minLength: 1 - maxLength: 35 - Description_1: - description: Description that may be available for the statement fee. type: string + description: A reference value provided by the PSU to the PISP while setting + up the scheduled payment. + Description_0: + maxLength: 35 minLength: 1 - maxLength: 128 - Description_2: - description: Description that may be available for the statement interest. type: string - minLength: 1 + description: Specifies the description of the account type. + Description_1: maxLength: 128 - Description_3: - description: Description to describe the purpose of the code + minLength: 1 type: string + description: Description that may be available for the statement fee. + Description_2: + maxLength: 128 minLength: 1 - maxLength: 350 - DirectDebitId: - description: >- - A unique and immutable identifier used to identify the direct debit - resource. This identifier has no meaning to the account owner. type: string + description: Description that may be available for the statement interest. + Description_3: + maxLength: 350 minLength: 1 - maxLength: 40 - EmailAddress: - description: Address for electronic mail (e-mail). type: string + description: Description to describe the purpose of the code + DirectDebitId: + maxLength: 40 minLength: 1 + type: string + description: A unique and immutable identifier used to identify the direct debit + resource. This identifier has no meaning to the account owner. + EmailAddress: maxLength: 256 + minLength: 1 + type: string + description: Address for electronic mail (e-mail). EndDateTime: - description: >- - Date and time at which the statement period ends.All dates in the JSON - payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the statement period ends.All dates in\ + \ the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time\ + \ fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time File: type: object - properties: {} FinalPaymentDateTime: - description: >- - The date on which the final payment for a Standing Order schedule will - be made.All dates in the JSON payloads are represented in ISO 8601 - date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the final payment for a Standing Order schedule\ + \ will be made.All dates in the JSON payloads are represented in ISO 8601\ + \ date-time format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time FirstPaymentDateTime: - description: >- - The date on which the first payment for a Standing Order schedule will - be made.All dates in the JSON payloads are represented in ISO 8601 - date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the first payment for a Standing Order schedule\ + \ will be made.All dates in the JSON payloads are represented in ISO 8601\ + \ date-time format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Frequency_0: - description: >- - Individual Definitions: - - EvryDay - Every day - - EvryWorkgDay - Every working day - - IntrvlWkDay - An interval specified in weeks (01 to 09), and the day - within the week (01 to 07) - - WkInMnthDay - A monthly interval, specifying the week of the month (01 - to 05) and day within the week (01 to 07) - - IntrvlMnthDay - An interval specified in months (between 01 to 06, 12, - 24), specifying the day within the month (-5 to -1, 1 to 31) - - QtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED) - - ENGLISH = Paid on the 25th March, 24th June, 29th September and 25th - December. - - SCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th - November. - - RECEIVED = Paid on the 20th March, 19th June, 24th September and 20th - December. - - Individual Patterns: - - EvryDay (ScheduleCode) - - EvryWorkgDay (ScheduleCode) - - IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + - DayInWeek) - - WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + - DayInWeek) - - IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + - IntervalInMonths + DayInMonth) - - QtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + - QuarterDay - - The regular expression for this element combines five smaller versions - for each permitted pattern. To aid legibility - the components are - presented individually here: - - EvryDay - - EvryWorkgDay - - IntrvlWkDay:0[1-9]:0[1-7] - - WkInMnthDay:0[1-5]:0[1-7] - - IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]) - - QtrDay:(ENGLISH|SCOTTISH|RECEIVED) - - Full Regular Expression: - - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + pattern: ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ type: string - pattern: >- - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + description: "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every\ + \ working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and\ + \ the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying\ + \ the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay\ + \ - An interval specified in months (between 01 to 06, 12, 24), specifying\ + \ the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either\ + \ ENGLISH, SCOTTISH, or RECEIVED)\nENGLISH = Paid on the 25th March, 24th\ + \ June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February,\ + \ 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March,\ + \ 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay\ + \ (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek\ + \ (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek\ + \ (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth\ + \ (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH,\ + \ SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression\ + \ for this element combines five smaller versions for each permitted pattern.\ + \ To aid legibility - the components are presented individually here:\nEvryDay\n\ + EvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\n\ + QtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" Frequency_1: - description: >- + pattern: ^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + type: string + description: |- Individual Definitions: - NotKnown - Not Known - EvryDay - Every day - EvryWorkgDay - Every working day - IntrvlDay - An interval specified in number of calendar days (02 to 31) - - IntrvlWkDay - An interval specified in weeks (01 to 09), and the day - within the week (01 to 07) - - WkInMnthDay - A monthly interval, specifying the week of the month (01 - to 05) and day within the week (01 to 07) - - IntrvlMnthDay - An interval specified in months (between 01 to 06, 12, - 24), specifying the day within the month (-05 to -01, 01 to 31) - + IntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07) + WkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07) + IntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-05 to -01, 01 to 31) QtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED) - - ENGLISH = Paid on the 25th March, 24th June, 29th September and 25th - December. - - SCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th - November. - - RECEIVED = Paid on the 20th March, 19th June, 24th September and 20th - December. - + ENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. + SCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November. + RECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. Individual Patterns: - NotKnown (ScheduleCode) - EvryDay (ScheduleCode) - EvryWorkgDay (ScheduleCode) - IntrvlDay:NoOfDay (ScheduleCode + NoOfDay) - - IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + - DayInWeek) - - WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + - DayInWeek) - - IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + - IntervalInMonths + DayInMonth) - - QtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + - QuarterDay - - The regular expression for this element combines five smaller versions - for each permitted pattern. To aid legibility - the components are - presented individually here: - + IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek) + WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek) + IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth) + QtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay + The regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here: NotKnown - EvryDay - EvryWorkgDay - IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]) - IntrvlWkDay:0[1-9]:0[1-7] - WkInMnthDay:0[1-5]:0[1-7] - IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]) - QtrDay:(ENGLISH|SCOTTISH|RECEIVED) - Full Regular Expression: - - ^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ - type: string - pattern: >- ^(NotKnown)$|^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ FullLegalName: - description: Specifies a character string with a maximum length of 350 characters. - type: string - minLength: 1 maxLength: 350 + minLength: 1 + type: string + description: Specifies a character string with a maximum length of 350 characters. ISODateTime: - description: >- - All dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "All dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Identification_0: - description: >- - Identification assigned by an institution to identify an account. This - identification is known by the account owner. - type: string - minLength: 1 maxLength: 256 - Identification_1: - description: Unique and unambiguous identification of the servicing institution. - type: string minLength: 1 - maxLength: 35 - Identification_2: - description: >- - Unique and unambiguous identification of a financial institution or a - branch of a financial institution. type: string + description: Identification assigned by an institution to identify an account. + This identification is known by the account owner. + Identification_1: + maxLength: 35 minLength: 1 + type: string + description: Unique and unambiguous identification of the servicing institution. + Identification_2: maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of a financial institution + or a branch of a financial institution. LastPaymentDateTime: - description: >- - The date on which the last (most recent) payment for a Standing Order - schedule was made.All dates in the JSON payloads are represented in ISO - 8601 date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the last (most recent) payment for a Standing\ + \ Order schedule was made.All dates in the JSON payloads are represented in\ + \ ISO 8601 date-time format. \nAll date-time fields in responses must include\ + \ the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Links: + required: + - Self type: object - description: Links relevant to the payload properties: Self: type: string @@ -1940,32 +4868,23 @@ components: Last: type: string format: uri - additionalProperties: false - required: - - Self + description: Links relevant to the payload MandateIdentification: - description: >- - Direct Debit reference. For AUDDIS service users provide Core Reference. - For non AUDDIS service users provide Core reference if possible or last - used reference. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Direct Debit reference. For AUDDIS service users provide Core Reference. + For non AUDDIS service users provide Core reference if possible or last used + reference. MaturityDate: - description: >- - Maturity date of the account.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Maturity date of the account.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Meta: title: MetaData type: object - description: Meta Data relevant to the payload properties: TotalPages: type: integer @@ -1974,94 +4893,116 @@ components: $ref: '#/components/schemas/ISODateTime' LastAvailableDateTime: $ref: '#/components/schemas/ISODateTime' - additionalProperties: false + description: Meta Data relevant to the payload Name_0: - description: >- - The account name is the name or names of the account owner(s) - represented at an account level, as displayed by the ASPSP's online - channels. - - Note, the account name is not the product name or the nickname of the - account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 - Name_1: - description: >- - Name by which an agent is known and which is usually used to identify - that agent. type: string - minLength: 1 + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. + Name_1: maxLength: 140 - Name_2: - description: Name of Service User. - type: string minLength: 1 - maxLength: 70 - Name_3: - description: >- - Name by which a party is known and which is usually used to identify - that party. type: string - minLength: 1 + description: Name by which an agent is known and which is usually used to identify + that agent. + Name_2: maxLength: 70 - Name_4: - description: Long name associated with the code + minLength: 1 type: string + description: Name of Service User. + Name_3: + maxLength: 70 minLength: 1 + type: string + description: Name by which a party is known and which is usually used to identify + that party. + Name_4: maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code NextPaymentDateTime: - description: >- - The date on which the next payment for a Standing Order schedule will be - made.All dates in the JSON payloads are represented in ISO 8601 - date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the next payment for a Standing Order schedule\ + \ will be made.All dates in the JSON payloads are represented in ISO 8601\ + \ date-time format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Nickname: - description: >- - The nickname of the account, assigned by the account owner in order to - provide an additional means of identification of the account. - type: string - minLength: 1 maxLength: 70 - NumberOfPayments: - description: >- - Number of the payments that will be made in completing this frequency - sequence including any executed since the sequence start date. - type: string minLength: 1 + type: string + description: The nickname of the account, assigned by the account owner in order + to provide an additional means of identification of the account. + NumberOfPayments: maxLength: 35 + minLength: 1 + type: string + description: Number of the payments that will be made in completing this frequency + sequence including any executed since the sequence start date. Number_0: - description: >- - Indicates whether the advertised overdraft rate is guaranteed to be - offered to a borrower by the bank e.g. if it�s part of a government - scheme, or whether the rate may vary dependent on the applicant�s - circumstances. type: integer + description: Indicates whether the advertised overdraft rate is guaranteed to + be offered to a borrower by the bank e.g. if it�s part of a government scheme, + or whether the rate may vary dependent on the applicant�s circumstances. Number_1: - description: >- - fee/charges are captured dependent on the number of occurrences rather - than capped at a particular amount type: integer + description: fee/charges are captured dependent on the number of occurrences + rather than capped at a particular amount OBAccount4: - oneOf: - - $ref: '#/components/schemas/OBAccount4Basic' - - $ref: '#/components/schemas/OBAccount4Detail' - OBAccount4Basic: + required: + - AccountId + - AccountSubType + - AccountType + - Currency type: object - description: >- - Unambiguous identification of the account to which credit and debit + properties: + AccountId: + $ref: '#/components/schemas/AccountId' + Status: + $ref: '#/components/schemas/OBAccountStatus1Code' + StatusUpdateDateTime: + $ref: '#/components/schemas/StatusUpdateDateTime' + Currency: + $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0' + AccountType: + $ref: '#/components/schemas/OBExternalAccountType1Code' + AccountSubType: + $ref: '#/components/schemas/OBExternalAccountSubType1Code' + Description: + $ref: '#/components/schemas/Description_0' + Nickname: + $ref: '#/components/schemas/Nickname' + Account: + type: array + items: + required: + - Identification + - SchemeName + type: object + properties: + SchemeName: + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' + Identification: + $ref: '#/components/schemas/Identification_0' + Name: + $ref: '#/components/schemas/Name_0' + SecondaryIdentification: + $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify an account. + Servicer: + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0' + description: Unambiguous identification of the account to which credit and debit entries are made. + OBAccount4Basic: required: - - AccountId - - Currency - - AccountType - - AccountSubType + - AccountId + - AccountSubType + - AccountType + - Currency + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -2079,17 +5020,16 @@ components: $ref: '#/components/schemas/Description_0' Nickname: $ref: '#/components/schemas/Nickname' - OBAccount4Detail: - type: object - description: >- - Unambiguous identification of the account to which credit and debit + description: Unambiguous identification of the account to which credit and debit entries are made. + OBAccount4Detail: required: - - AccountId - - Currency - - AccountType - - AccountSubType - - Account + - Account + - AccountId + - AccountSubType + - AccountType + - Currency + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -2110,11 +5050,10 @@ components: Account: type: array items: - type: object - description: Provides the details to identify an account. required: - - SchemeName - - Identification + - Identification + - SchemeName + type: object properties: SchemeName: $ref: '#/components/schemas/OBExternalAccountIdentification4Code' @@ -2124,23 +5063,69 @@ components: $ref: '#/components/schemas/Name_0' SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify an account. Servicer: - $ref: >- - #/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0 + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0' + description: Unambiguous identification of the account to which credit and debit + entries are made. OBAccount6: - oneOf: - - $ref: '#/components/schemas/OBAccount6Basic' - - $ref: '#/components/schemas/OBAccount6Detail' - OBAccount6Basic: + required: + - AccountId + - AccountSubType + - AccountType + - Currency type: object - description: >- - Unambiguous identification of the account to which credit and debit + properties: + AccountId: + $ref: '#/components/schemas/AccountId' + Status: + $ref: '#/components/schemas/OBAccountStatus1Code' + StatusUpdateDateTime: + $ref: '#/components/schemas/StatusUpdateDateTime' + Currency: + $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0' + AccountType: + $ref: '#/components/schemas/OBExternalAccountType1Code' + AccountSubType: + $ref: '#/components/schemas/OBExternalAccountSubType1Code' + Description: + $ref: '#/components/schemas/Description_0' + Nickname: + $ref: '#/components/schemas/Nickname' + OpeningDate: + $ref: '#/components/schemas/OpeningDate' + MaturityDate: + $ref: '#/components/schemas/MaturityDate' + SwitchStatus: + $ref: '#/components/schemas/OBExternalSwitchStatusCode' + Account: + type: array + items: + required: + - Identification + - SchemeName + type: object + properties: + SchemeName: + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' + Identification: + $ref: '#/components/schemas/Identification_0' + Name: + $ref: '#/components/schemas/Name_0' + SecondaryIdentification: + $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify an account. + Servicer: + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0' + description: Unambiguous identification of the account to which credit and debit entries are made. + OBAccount6Basic: required: - - AccountId - - Currency - - AccountType - - AccountSubType + - AccountId + - AccountSubType + - AccountType + - Currency + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -2162,18 +5147,18 @@ components: $ref: '#/components/schemas/OpeningDate' MaturityDate: $ref: '#/components/schemas/MaturityDate' - additionalProperties: false - OBAccount6Detail: - type: object - description: >- - Unambiguous identification of the account to which credit and debit + SwitchStatus: + $ref: '#/components/schemas/OBExternalSwitchStatusCode' + description: Unambiguous identification of the account to which credit and debit entries are made. + OBAccount6Detail: required: - - AccountId - - Currency - - AccountType - - AccountSubType - - Account + - Account + - AccountId + - AccountSubType + - AccountType + - Currency + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -2195,14 +5180,15 @@ components: $ref: '#/components/schemas/OpeningDate' MaturityDate: $ref: '#/components/schemas/MaturityDate' + SwitchStatus: + $ref: '#/components/schemas/OBExternalSwitchStatusCode' Account: type: array items: - type: object - description: Provides the details to identify an account. required: - - SchemeName - - Identification + - Identification + - SchemeName + type: object properties: SchemeName: $ref: '#/components/schemas/OBExternalAccountIdentification4Code' @@ -2212,2496 +5198,2318 @@ components: $ref: '#/components/schemas/Name_0' SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify an account. Servicer: - $ref: >- - #/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0 - additionalProperties: false + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_0' + description: Unambiguous identification of the account to which credit and debit + entries are made. OBAccountStatus1Code: - description: Specifies the status of account resource in code form. type: string + description: Specifies the status of account resource in code form. enum: - - Deleted - - Disabled - - Enabled - - Pending - - ProForma + - Deleted + - Disabled + - Enabled + - Pending + - ProForma OBActiveCurrencyAndAmount_SimpleType: - description: >- - A number of monetary units specified in an active currency where the - unit of currency is explicit and compliant with ISO 4217. + pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$ type: string - pattern: '^\d{1,13}$|^\d{1,13}\.\d{1,5}$' + description: A number of monetary units specified in an active currency where + the unit of currency is explicit and compliant with ISO 4217. OBActiveOrHistoricCurrencyAndAmount_0: - type: object required: - - Amount - - Currency - description: The amount of the most recent direct debit collection. + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: The amount of the most recent direct debit collection. OBActiveOrHistoricCurrencyAndAmount_1: - type: object required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, before - deduction of charges, expressed in the currency as ordered by the - initiating party. - - Usage: This amount has to be transported unchanged through the - transaction chain. + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. OBActiveOrHistoricCurrencyAndAmount_10: - type: object required: - - Amount - - Currency - description: Transaction charges to be paid by the charge bearer. + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: Transaction charges to be paid by the charge bearer. OBActiveOrHistoricCurrencyAndAmount_11: - type: object required: - - Amount - - Currency - description: The amount of the last (most recent) Standing Order instruction. + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: The amount of the last (most recent) Standing Order instruction. OBActiveOrHistoricCurrencyAndAmount_2: - type: object required: - - Amount - - Currency - description: The amount of the first Standing Order + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: The amount of the first Standing Order OBActiveOrHistoricCurrencyAndAmount_3: - type: object required: - - Amount - - Currency - description: The amount of the next Standing Order. + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: The amount of the next Standing Order. OBActiveOrHistoricCurrencyAndAmount_4: - type: object required: - - Amount - - Currency - description: The amount of the final Standing Order + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: The amount of the final Standing Order OBActiveOrHistoricCurrencyAndAmount_5: - type: object required: - - Amount - - Currency - description: Amount of money associated with the statement benefit type. + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: Amount of money associated with the statement benefit type. OBActiveOrHistoricCurrencyAndAmount_6: - type: object required: - - Amount - - Currency - description: Amount of money associated with the statement fee type. + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: Amount of money associated with the statement fee type. OBActiveOrHistoricCurrencyAndAmount_7: - type: object required: - - Amount - - Currency - description: Amount of money associated with the statement interest amount type. + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: Amount of money associated with the statement interest amount type. OBActiveOrHistoricCurrencyAndAmount_8: - type: object required: - - Amount - - Currency - description: Amount of money associated with the amount type. + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: Amount of money associated with the amount type. OBActiveOrHistoricCurrencyAndAmount_9: - type: object required: - - Amount - - Currency - description: Amount of money in the cash transaction entry. + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: Amount of money in the cash transaction entry. OBAddressTypeCode: - description: Identifies the nature of the postal address. type: string + description: Identifies the nature of the postal address. enum: - - Business - - Correspondence - - DeliveryTo - - MailTo - - POBox - - Postal - - Residential - - Statement + - Business + - Correspondence + - DeliveryTo + - MailTo + - POBox + - Postal + - Residential + - Statement OBBCAData1: - type: object title: BCA + type: object properties: ProductDetails: - type: object title: ProductDetails + type: object properties: Segment: - description: >- - Market segmentation is a marketing term referring to the - aggregating of prospective buyers into groups, or segments, that - have common needs and respond similarly to a marketing action. - Market segmentation enables companies to target different - categories of consumers who perceive the full value of certain - products and services differently from one another. - - - Read more: Market Segmentation - http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd - - With respect to BCA products, they are segmented in relation to - different markets that they wish to focus on. title: Segment type: array + description: "Market segmentation is a marketing term referring to the\ + \ aggregating of prospective buyers into groups, or segments, that\ + \ have common needs and respond similarly to a marketing action. Market\ + \ segmentation enables companies to target different categories of\ + \ consumers who perceive the full value of certain products and services\ + \ differently from one another.\n\nRead more: Market Segmentation\ + \ http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd\ + \ \nWith respect to BCA products, they are segmented in relation to\ + \ different markets that they wish to focus on. " items: - description: >- - Market segmentation is a marketing term referring to the - aggregating of prospective buyers into groups, or segments, - that have common needs and respond similarly to a marketing - action. Market segmentation enables companies to target - different categories of consumers who perceive the full value - of certain products and services differently from one another. - - - Read more: Market Segmentation - http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd - - With respect to BCA products, they are segmented in relation - to different markets that they wish to focus on. type: string + description: "Market segmentation is a marketing term referring to\ + \ the aggregating of prospective buyers into groups, or segments,\ + \ that have common needs and respond similarly to a marketing action.\ + \ Market segmentation enables companies to target different categories\ + \ of consumers who perceive the full value of certain products and\ + \ services differently from one another.\n\nRead more: Market Segmentation\ + \ http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd\ + \ \nWith respect to BCA products, they are segmented in relation\ + \ to different markets that they wish to focus on. " enum: - - ClientAccount - - Standard - - NonCommercialChaitiesClbSoc - - NonCommercialPublicAuthGovt - - Religious - - SectorSpecific - - Startup - - Switcher + - ClientAccount + - Standard + - NonCommercialChaitiesClbSoc + - NonCommercialPublicAuthGovt + - Religious + - SectorSpecific + - Startup + - Switcher FeeFreeLength: - description: The length/duration of the fee free period title: FeeFreeLength type: number + description: The length/duration of the fee free period format: float FeeFreeLengthPeriod: - description: >- - The unit of period (days, weeks, months etc.) of the promotional - length title: FeeFreeLengthPeriod type: string + description: The unit of period (days, weeks, months etc.) of the promotional + length enum: - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: Optional additional notes to supplement the Core product details title: Notes type: array + description: Optional additional notes to supplement the Core product + details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 - additionalProperties: false + minLength: 1 + type: string + description: maxLength 2000 text CreditInterest: - description: >- - Details about the interest that may be payable to the BCA account - holders - type: object title: CreditInterest + required: + - TierBandSet + type: object properties: TierBandSet: - description: >- - The group of tiers or bands for which credit interest can be - applied. - type: array title: TierBandSet + minItems: 1 + type: array + description: The group of tiers or bands for which credit interest can + be applied. items: - description: >- - The group of tiers or bands for which credit interest can be - applied. + required: + - Destination + - TierBand + - TierBandMethod type: object properties: TierBandMethod: - description: >- - The methodology of how credit interest is paid/applied. It - can be:- - + title: TierBandMethod + type: string + description: |- + The methodology of how credit interest is paid/applied. It can be:- 1. Banded - - Interest rates are banded. i.e. Increasing rate on whole - balance as balance increases. - + Interest rates are banded. i.e. Increasing rate on whole balance as balance increases. 2. Tiered - - Interest rates are tiered. i.e. increasing rate for each - tier as balance increases, but interest paid on tier fixed - for that tier and not on whole balance. - + Interest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance. 3. Whole - - The same interest rate is applied irrespective of the BCA - balance - title: TierBandMethod - type: string + The same interest rate is applied irrespective of the BCA balance enum: - - Banded - - Tiered - - Whole + - Banded + - Tiered + - Whole CalculationMethod: - description: Methods of calculating interest title: CalculationMethod type: string + description: Methods of calculating interest enum: - - Compound - - SimpleInterest + - Compound + - SimpleInterest Destination: - description: >- - Describes whether accrued interest is payable only to the - BCA or to another bank account title: Destination type: string + description: Describes whether accrued interest is payable only + to the BCA or to another bank account enum: - - PayAway - - SelfCredit + - PayAway + - SelfCredit Notes: - description: >- - Optional additional notes to supplement the Tier Band Set - details title: Notes type: array + description: Optional additional notes to supplement the Tier + Band Set details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text TierBand: - description: Tier Band Details - type: array title: TierBand + minItems: 1 + type: array + description: Tier Band Details items: - description: Tier Band Details + required: + - AER + - ApplicationFrequency + - FixedVariableInterestRateType + - TierValueMinimum type: object properties: Identification: - description: >- - Unique and unambiguous identification of a Tier - Band for a BCA. title: Identification - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of a Tier + Band for a BCA. TierValueMinimum: - description: >- - Minimum deposit value for which the credit interest - tier applies. title: TierValueMinimum + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Minimum deposit value for which the credit + interest tier applies. TierValueMaximum: - description: >- - Maximum deposit value for which the credit interest - tier applies. title: TierValueMaximum + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Maximum deposit value for which the credit + interest tier applies. CalculationFrequency: - description: >- - How often is credit interest calculated for the - account. title: CalculationFrequency type: string + description: How often is credit interest calculated for + the account. enum: - - Daily - - HalfYearly - - Monthly - - Other - - Quarterly - - PerStatementDate - - Weekly - - Yearly + - Daily + - HalfYearly + - Monthly + - Other + - Quarterly + - PerStatementDate + - Weekly + - Yearly ApplicationFrequency: - description: >- - How often is interest applied to the BCA for this - tier/band i.e. how often the financial institution - pays accumulated interest to the customer's BCA. title: ApplicationFrequency type: string + description: How often is interest applied to the BCA for + this tier/band i.e. how often the financial institution + pays accumulated interest to the customer's BCA. enum: - - Daily - - HalfYearly - - Monthly - - Other - - Quarterly - - PerStatementDate - - Weekly - - Yearly + - Daily + - HalfYearly + - Monthly + - Other + - Quarterly + - PerStatementDate + - Weekly + - Yearly DepositInterestAppliedCoverage: - description: Amount on which Interest applied. title: DepositInterestAppliedCoverage type: string + description: Amount on which Interest applied. enum: - - Banded - - Tiered - - Whole + - Banded + - Tiered + - Whole FixedVariableInterestRateType: - description: 'Type of interest rate, Fixed or Variable' title: FixedVariableInterestRateType type: string + description: Type of interest rate, Fixed or Variable enum: - - Fixed - - Variable + - Fixed + - Variable AER: - description: >- - The annual equivalent rate (AER) is interest that is - calculated under the assumption that any interest - paid is combined with the original balance and the - next interest payment will be based on the slightly - higher account balance. Overall, this means that - interest can be compounded several times in a year - depending on the number of times that interest - payments are made. - - - Read more: Annual Equivalent Rate (AER) - http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A title: AER + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: "The annual equivalent rate (AER) is interest\ + \ that is calculated under the assumption that any interest\ + \ paid is combined with the original balance and the next\ + \ interest payment will be based on the slightly higher\ + \ account balance. Overall, this means that interest can\ + \ be compounded several times in a year depending on the\ + \ number of times that interest payments are made. \n\n\ + Read more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" BankInterestRateType: - description: >- - Interest rate types, other than AER, which financial - institutions may use to describe the annual interest - rate payable to the BCA. title: BankInterestRateType type: string + description: Interest rate types, other than AER, which + financial institutions may use to describe the annual + interest rate payable to the BCA. enum: - - Gross - - Other + - Gross + - Other BankInterestRate: - description: Bank Interest for the BCA product title: BankInterestRate + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: Bank Interest for the BCA product Notes: - description: >- - Optional additional notes to supplement the Tier - Band details title: Notes type: array + description: Optional additional notes to supplement the + Tier Band details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherBankInterestType: - description: >- - Other interest rate types which are not available in - the standard code list - type: object title: OtherBankInterestType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file - to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an + XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description - OtherApplicationFrequency: - description: >- - Other application frequencies that are not available + minLength: 1 + type: string + description: Description to describe the purpose of + the code + description: Other interest rate types which are not available in the standard code list - type: object + OtherApplicationFrequency: title: OtherApplicationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file - to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an + XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of + the code + description: Other application frequencies that are not + available in the standard code list OtherCalculationFrequency: - description: >- - Other calculation frequency which is not available - in the standard code set. - type: object title: OtherCalculationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file - to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an + XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description - required: - - TierValueMinimum - - ApplicationFrequency - - FixedVariableInterestRateType - - AER - minItems: 1 - required: - - TierBandMethod - - Destination - - TierBand - minItems: 1 - additionalProperties: false - required: - - TierBandSet + minLength: 1 + type: string + description: Description to describe the purpose of + the code + description: Other calculation frequency which is not available + in the standard code set. + description: Tier Band Details + description: The group of tiers or bands for which credit interest + can be applied. + description: Details about the interest that may be payable to the BCA account + holders Overdraft: - description: Borrowing details - type: object title: Overdraft + required: + - OverdraftTierBandSet + type: object properties: Notes: - description: Associated Notes about the overdraft rates title: Notes type: array + description: Associated Notes about the overdraft rates items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OverdraftTierBandSet: - description: Tier band set details - type: array title: OverdraftTierBandSet + minItems: 1 + type: array + description: Tier band set details items: - description: Tier band set details + required: + - OverdraftTierBand + - TierBandMethod type: object properties: TierBandMethod: - description: >- - The methodology of how overdraft is charged. It can be: - - 'Whole' Where the same charge/rate is applied to the - entirety of the overdraft balance (where charges are - applicable). - - 'Tiered' Where different charges/rates are applied - dependent on overdraft maximum and minimum balance amount - tiers defined by the lending financial organisation - - 'Banded' Where different charges/rates are applied - dependent on overdraft maximum and minimum balance amount - bands defined by a government organisation. title: TierBandMethod type: string + description: "The methodology of how overdraft is charged. It\ + \ can be:\n'Whole' Where the same charge/rate is applied to\ + \ the entirety of the overdraft balance (where charges are applicable).\ + \ \n'Tiered' Where different charges/rates are applied dependent\ + \ on overdraft maximum and minimum balance amount tiers defined\ + \ by the lending financial organisation\n'Banded' Where different\ + \ charges/rates are applied dependent on overdraft maximum and\ + \ minimum balance amount bands defined by a government organisation." enum: - - Banded - - Tiered - - Whole + - Banded + - Tiered + - Whole OverdraftType: - description: >- - An overdraft can either be 'committed' which means that - the facility cannot be withdrawn without reasonable - notification before it's agreed end date, or 'on demand' - which means that the financial institution can demand - repayment at any point in time. title: OverdraftType type: string + description: An overdraft can either be 'committed' which means + that the facility cannot be withdrawn without reasonable notification + before it's agreed end date, or 'on demand' which means that + the financial institution can demand repayment at any point + in time. enum: - - Committed - - OnDemand + - Committed + - OnDemand Identification: - description: >- - Unique and unambiguous identification of a Tier Band for - a overdraft product. title: Identification - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of a Tier + Band for a overdraft product. AuthorisedIndicator: - description: >- - Indicates if the Overdraft is authorised (Y) or - unauthorised (N) title: AuthorisedIndicator type: boolean + description: Indicates if the Overdraft is authorised (Y) or unauthorised + (N) BufferAmount: - description: >- - When a customer exceeds their credit limit, a financial - institution will not charge the customer unauthorised - overdraft charges if they do not exceed by more than the - buffer amount. Note: Authorised overdraft charges may - still apply. title: BufferAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: 'When a customer exceeds their credit limit, a financial + institution will not charge the customer unauthorised overdraft + charges if they do not exceed by more than the buffer amount. + Note: Authorised overdraft charges may still apply.' Notes: - description: >- - Optional additional notes to supplement the overdraft Tier - Band Set details title: Notes type: array + description: Optional additional notes to supplement the overdraft + Tier Band Set details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OverdraftTierBand: - description: Provides overdraft details for a specific tier or band - type: array title: OverdraftTierBand + minItems: 1 + type: array + description: Provides overdraft details for a specific tier or + band items: - description: Provides overdraft details for a specific tier or band + required: + - TierValueMin type: object properties: Identification: - description: >- - Unique and unambiguous identification of a Tier - Band for a overdraft. title: Identification - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of a Tier + Band for a overdraft. TierValueMin: - description: Minimum value of Overdraft Tier/Band title: TierValueMin + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Minimum value of Overdraft Tier/Band TierValueMax: - description: Maximum value of Overdraft Tier/Band title: TierValueMax + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Maximum value of Overdraft Tier/Band EAR: - description: >- - EAR means Effective Annual Rate and/or Equivalent - Annual Rate (frequently - - used interchangeably), being the actual annual - interest rate of an Overdraft. title: EAR + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: |- + EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently + used interchangeably), being the actual annual interest rate of an Overdraft. RepresentativeAPR: - description: >- - An annual percentage rate (APR) is the annual rate - charged for borrowing or earned through an - investment. APR is expressed as a percentage that - represents the actual yearly cost of funds over the - term of a loan. This includes any fees or additional - costs associated with the transaction but does not - take compounding into account. title: RepresentativeAPR + pattern: ^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$' + description: An annual percentage rate (APR) is the annual + rate charged for borrowing or earned through an investment. + APR is expressed as a percentage that represents the actual + yearly cost of funds over the term of a loan. This includes + any fees or additional costs associated with the transaction + but does not take compounding into account. AgreementLengthMin: - description: >- - Specifies the minimum length of a band for a fixed - overdraft agreement title: AgreementLengthMin type: number + description: Specifies the minimum length of a band for + a fixed overdraft agreement format: float AgreementLengthMax: - description: >- - Specifies the maximum length of a band for a fixed - overdraft agreement title: AgreementLengthMax type: number + description: Specifies the maximum length of a band for + a fixed overdraft agreement format: float AgreementPeriod: - description: >- - Specifies the period of a fixed length overdraft - agreement title: AgreementPeriod type: string + description: Specifies the period of a fixed length overdraft + agreement enum: - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - Day + - Half Year + - Month + - Quarter + - Week + - Year OverdraftInterestChargingCoverage: - description: >- - Refers to which interest rate is applied when - interests are tiered. For example, if an overdraft - balance is £2k and the interest tiers are:- 0-£500 - 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the - applicable interest rate could either be 0.5% of the - entire balance (since the account balance sits in - the top interest tier) or - (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st - situation, we say the interest is applied to the - ‘Whole’ of the account balance, and in the 2nd that - it is ‘Tiered’. title: OverdraftInterestChargingCoverage type: string + description: Refers to which interest rate is applied when + interests are tiered. For example, if an overdraft balance + is £2k and the interest tiers are:- 0-£500 0.1%, 500-1000 + 0.2%, 1000-10000 0.5%, then the applicable interest rate + could either be 0.5% of the entire balance (since the + account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). + In the 1st situation, we say the interest is applied to + the ‘Whole’ of the account balance, and in the 2nd that + it is ‘Tiered’. enum: - - Banded - - Tiered - - Whole + - Banded + - Tiered + - Whole BankGuaranteedIndicator: - description: >- - Indicates whether the advertised overdraft rate is - guaranteed to be offered to a borrower by the bank - e.g. if it’s part of a government scheme, or whether - the rate may vary dependent on the applicant’s - circumstances. title: BankGuaranteedIndicator type: boolean + description: Indicates whether the advertised overdraft + rate is guaranteed to be offered to a borrower by the + bank e.g. if it’s part of a government scheme, or whether + the rate may vary dependent on the applicant’s circumstances. Notes: - description: >- - Optional additional notes to supplement the - Tier/band details title: Notes type: array + description: Optional additional notes to supplement the + Tier/band details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OverdraftFeesCharges: - description: Overdraft fees and charges - type: array title: OverdraftFeesCharges + type: array + description: Overdraft fees and charges items: - description: Overdraft fees and charges + required: + - OverdraftFeeChargeDetail type: object properties: OverdraftFeeChargeCap: - description: >- - Details about any caps (maximum charges) that - apply to a particular fee/charge. Capping can - either be based on an amount (in gbp), an - amount (in items) or a rate. - type: array title: OverdraftFeeChargeCap + type: array + description: Details about any caps (maximum charges) + that apply to a particular fee/charge. Capping can + either be based on an amount (in gbp), an amount + (in items) or a rate. items: - description: >- - Details about any caps (maximum charges) - that apply to a particular fee/charge. - Capping can either be based on an amount (in - gbp), an amount (in items) or a rate. + required: + - FeeType + - MinMaxType type: object properties: FeeType: - description: Fee/charge type which is being capped title: FeeType + minItems: 1 type: array + description: Fee/charge type which is being + capped items: - description: Overdraft fee type type: string + description: Overdraft fee type enum: - - ArrangedOverdraft - - AnnualReview - - EmergencyBorrowing - - BorrowingItem - - OverdraftRenewal - - OverdraftSetup - - Surcharge - - TempOverdraft - - UnauthorisedBorrowing - - UnauthorisedPaidTrans - - Other - - UnauthorisedUnpaidTrans - minItems: 1 + - ArrangedOverdraft + - AnnualReview + - EmergencyBorrowing + - BorrowingItem + - OverdraftRenewal + - OverdraftSetup + - Surcharge + - TempOverdraft + - UnauthorisedBorrowing + - UnauthorisedPaidTrans + - Other + - UnauthorisedUnpaidTrans MinMaxType: - description: Min Max type title: MinMaxType type: string + description: Min Max type enum: - - Minimum - - Maximum + - Minimum + - Maximum FeeCapOccurrence: - description: >- - Indicates whether the advertised - overdraft rate is guaranteed to be - offered to a borrower by the bank e.g. - if it’s part of a government scheme, or - whether the rate may vary dependent on - the applicant’s circumstances. title: FeeCapOccurrence type: number + description: Indicates whether the advertised + overdraft rate is guaranteed to be offered + to a borrower by the bank e.g. if it’s part + of a government scheme, or whether the rate + may vary dependent on the applicant’s circumstances. format: float FeeCapAmount: - description: Cap amount charged for a fee/charge title: FeeCapAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge CappingPeriod: - description: >- - Period e.g. day, week, month etc. for - which the fee/charge is capped title: CappingPeriod type: string + description: Period e.g. day, week, month etc. + for which the fee/charge is capped enum: - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: >- - Notes related to Overdraft fee charge - cap title: Notes type: array + description: Notes related to Overdraft fee + charge cap items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other fee type code which is not - available in the standard code set - type: array title: OtherFeeType + type: array + description: Other fee type code which is not + available in the standard code set items: - description: >- - Other fee type code which is not - available in the standard code set + required: + - Description + - Name type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic + used within an XML file to identify + a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 - Description: - description: >- - Description to describe the purpose of + minLength: 1 + type: string + description: Long name associated with the code + Description: title: Description - type: string - minLength: 1 maxLength: 350 - required: - - Name - - Description - required: - - FeeType - - MinMaxType + minLength: 1 + type: string + description: Description to describe the + purpose of the code + description: Other fee type code which is + not available in the standard code set + description: Details about any caps (maximum charges) + that apply to a particular fee/charge. Capping + can either be based on an amount (in gbp), an + amount (in items) or a rate. OverdraftFeeChargeDetail: - description: Details about the fees/charges + title: OverdraftFeeChargeDetail + minItems: 1 type: array - title: OverdraftFeeChargeDetail + description: Details about the fees/charges items: - description: Details about the fees/charges + required: + - ApplicationFrequency + - FeeType type: object properties: FeeType: - description: Overdraft fee type title: FeeType type: string + description: Overdraft fee type enum: - - ArrangedOverdraft - - AnnualReview - - EmergencyBorrowing - - BorrowingItem - - OverdraftRenewal - - OverdraftSetup - - Surcharge - - TempOverdraft - - UnauthorisedBorrowing - - UnauthorisedPaidTrans - - Other - - UnauthorisedUnpaidTrans + - ArrangedOverdraft + - AnnualReview + - EmergencyBorrowing + - BorrowingItem + - OverdraftRenewal + - OverdraftSetup + - Surcharge + - TempOverdraft + - UnauthorisedBorrowing + - UnauthorisedPaidTrans + - Other + - UnauthorisedUnpaidTrans NegotiableIndicator: - description: >- - Indicates whether fee and charges are - negotiable title: NegotiableIndicator type: boolean + description: Indicates whether fee and charges + are negotiable OverdraftControlIndicator: - description: >- - Indicates if the fee/charge is already - covered by an 'Overdraft Control' fee or - not. title: OverdraftControlIndicator type: boolean + description: Indicates if the fee/charge is + already covered by an 'Overdraft Control' + fee or not. IncrementalBorrowingAmount: - description: >- - Every additional tranche of an overdraft - balance to which an overdraft fee is - applied title: IncrementalBorrowingAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Every additional tranche of an + overdraft balance to which an overdraft fee + is applied FeeAmount: - description: >- - Amount charged for an overdraft - fee/charge (where it is charged in terms - of an amount rather than a rate) title: FeeAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Amount charged for an overdraft + fee/charge (where it is charged in terms of + an amount rather than a rate) FeeRate: - description: >- - Rate charged for overdraft fee/charge - (where it is charged in terms of a rate - rather than an amount) title: FeeRate + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: Rate charged for overdraft fee/charge + (where it is charged in terms of a rate rather + than an amount) FeeRateType: - description: >- - Rate type for overdraft fee/charge - (where it is charged in terms of a rate - rather than an amount) title: FeeRateType type: string + description: Rate type for overdraft fee/charge + (where it is charged in terms of a rate rather + than an amount) enum: - - Gross - - Other + - Gross + - Other ApplicationFrequency: - description: >- - Frequency at which the overdraft charge - is applied to the account title: ApplicationFrequency type: string + description: Frequency at which the overdraft + charge is applied to the account enum: - - OnClosing - - OnOpening - - ChargingPeriod - - Daily - - PerItem - - Monthly - - OnAnniversary - - Other - - PerHundredPounds - - PerHour - - PerOccurrence - - PerSheet - - PerTransaction - - PerTransactionAmount - - PerTransactionPercentage - - Quarterly - - SixMonthly - - StatementMonthly - - Weekly - - Yearly + - OnClosing + - OnOpening + - ChargingPeriod + - Daily + - PerItem + - Monthly + - OnAnniversary + - Other + - PerHundredPounds + - PerHour + - PerOccurrence + - PerSheet + - PerTransaction + - PerTransactionAmount + - PerTransactionPercentage + - Quarterly + - SixMonthly + - StatementMonthly + - Weekly + - Yearly CalculationFrequency: - description: >- - How often is the overdraft fee/charge - calculated for the account. title: CalculationFrequency type: string + description: How often is the overdraft fee/charge + calculated for the account. enum: - - OnClosing - - OnOpening - - ChargingPeriod - - Daily - - PerItem - - Monthly - - OnAnniversary - - Other - - PerHundredPounds - - PerHour - - PerOccurrence - - PerSheet - - PerTransaction - - PerTransactionAmount - - PerTransactionPercentage - - Quarterly - - SixMonthly - - StatementMonthly - - Weekly - - Yearly + - OnClosing + - OnOpening + - ChargingPeriod + - Daily + - PerItem + - Monthly + - OnAnniversary + - Other + - PerHundredPounds + - PerHour + - PerOccurrence + - PerSheet + - PerTransaction + - PerTransactionAmount + - PerTransactionPercentage + - Quarterly + - SixMonthly + - StatementMonthly + - Weekly + - Yearly Notes: - description: >- - Free text for capturing any other info - related to Overdraft Fees Charge Details title: Notes type: array + description: Free text for capturing any other + info related to Overdraft Fees Charge Details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OverdraftFeeChargeCap: - description: >- - Details about any caps (maximum charges) - that apply to a particular fee/charge. - Capping can either be based on an amount - (in gbp), an amount (in items) or a - rate. - type: array title: OverdraftFeeChargeCap + type: array + description: Details about any caps (maximum + charges) that apply to a particular fee/charge. + Capping can either be based on an amount (in + gbp), an amount (in items) or a rate. items: - description: >- - Details about any caps (maximum charges) - that apply to a particular fee/charge. - Capping can either be based on an amount - (in gbp), an amount (in items) or a - rate. + required: + - FeeType + - MinMaxType type: object properties: FeeType: - description: Fee/charge type which is being capped title: FeeType + minItems: 1 type: array + description: Fee/charge type which is + being capped items: - description: Overdraft fee type type: string + description: Overdraft fee type enum: - - ArrangedOverdraft - - AnnualReview - - EmergencyBorrowing - - BorrowingItem - - OverdraftRenewal - - OverdraftSetup - - Surcharge - - TempOverdraft - - UnauthorisedBorrowing - - UnauthorisedPaidTrans - - Other - - UnauthorisedUnpaidTrans - minItems: 1 + - ArrangedOverdraft + - AnnualReview + - EmergencyBorrowing + - BorrowingItem + - OverdraftRenewal + - OverdraftSetup + - Surcharge + - TempOverdraft + - UnauthorisedBorrowing + - UnauthorisedPaidTrans + - Other + - UnauthorisedUnpaidTrans MinMaxType: - description: Min Max type title: MinMaxType type: string + description: Min Max type enum: - - Minimum - - Maximum + - Minimum + - Maximum FeeCapOccurrence: - description: >- - Indicates whether the advertised - overdraft rate is guaranteed to be - offered to a borrower by the bank e.g. - if it’s part of a government scheme, or - whether the rate may vary dependent on - the applicant’s circumstances. title: FeeCapOccurrence type: number + description: Indicates whether the advertised + overdraft rate is guaranteed to be offered + to a borrower by the bank e.g. if it’s + part of a government scheme, or whether + the rate may vary dependent on the applicant’s + circumstances. format: float FeeCapAmount: - description: Cap amount charged for a fee/charge title: FeeCapAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Cap amount charged for a + fee/charge CappingPeriod: - description: >- - Period e.g. day, week, month etc. for - which the fee/charge is capped title: CappingPeriod type: string + description: Period e.g. day, week, month + etc. for which the fee/charge is capped enum: - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: >- - Notes related to Overdraft fee charge - cap title: Notes type: array + description: Notes related to Overdraft + fee charge cap items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other fee type code which is not - available in the standard code set - type: array title: OtherFeeType + type: array + description: Other fee type code which + is not available in the standard code + set items: - description: >- - Other fee type code which is not - available in the standard code set + required: + - Description + - Name type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic + used within an XML file to identify + a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated + with the code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - required: - - Name - - Description - required: - - FeeType - - MinMaxType + minLength: 1 + type: string + description: Description to describe + the purpose of the code + description: Other fee type code which + is not available in the standard code + set + description: Details about any caps (maximum + charges) that apply to a particular fee/charge. + Capping can either be based on an amount + (in gbp), an amount (in items) or a rate. OtherFeeType: - description: >- - Other Fee type which is not available in - the standard code set - type: object title: OtherFeeType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used + within an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the + code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the + purpose of the code + description: Other Fee type which is not available + in the standard code set OtherFeeRateType: - description: >- - Other fee rate type code which is not - available in the standard code set - type: object title: OtherFeeRateType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used + within an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the + code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the + purpose of the code + description: Other fee rate type code which + is not available in the standard code set OtherApplicationFrequency: - description: >- - Other application frequencies that are - not available in the standard code list - type: object title: OtherApplicationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used + within an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the + code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the + purpose of the code + description: Other application frequencies that + are not available in the standard code list OtherCalculationFrequency: - description: >- - Other calculation frequency which is not - available in the standard code set. - type: object title: OtherCalculationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used + within an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the + code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description - required: - - FeeType - - ApplicationFrequency - minItems: 1 - required: - - OverdraftFeeChargeDetail - required: - - TierValueMin - minItems: 1 + minLength: 1 + type: string + description: Description to describe the + purpose of the code + description: Other calculation frequency which + is not available in the standard code set. + description: Details about the fees/charges + description: Overdraft fees and charges + description: Provides overdraft details for a specific tier + or band OverdraftFeesCharges: - description: Overdraft fees and charges details - type: array title: OverdraftFeesCharges + type: array + description: Overdraft fees and charges details items: - description: Overdraft fees and charges details + required: + - OverdraftFeeChargeDetail type: object properties: OverdraftFeeChargeCap: - description: >- - Details about any caps (maximum charges) that apply - to a particular fee/charge. Capping can either be - based on an amount (in gbp), an amount (in items) or - a rate. - type: array title: OverdraftFeeChargeCap + type: array + description: Details about any caps (maximum charges) that + apply to a particular fee/charge. Capping can either be + based on an amount (in gbp), an amount (in items) or a + rate. items: - description: >- - Details about any caps (maximum charges) that - apply to a particular fee/charge. Capping can - either be based on an amount (in gbp), an amount - (in items) or a rate. + required: + - FeeType + - MinMaxType type: object properties: FeeType: - description: Fee/charge type which is being capped title: FeeType + minItems: 1 type: array + description: Fee/charge type which is being capped items: - description: Overdraft fee type type: string + description: Overdraft fee type enum: - - ArrangedOverdraft - - AnnualReview - - EmergencyBorrowing - - BorrowingItem - - OverdraftRenewal - - OverdraftSetup - - Surcharge - - TempOverdraft - - UnauthorisedBorrowing - - UnauthorisedPaidTrans - - Other - - UnauthorisedUnpaidTrans - minItems: 1 + - ArrangedOverdraft + - AnnualReview + - EmergencyBorrowing + - BorrowingItem + - OverdraftRenewal + - OverdraftSetup + - Surcharge + - TempOverdraft + - UnauthorisedBorrowing + - UnauthorisedPaidTrans + - Other + - UnauthorisedUnpaidTrans MinMaxType: - description: Min Max type title: MinMaxType type: string + description: Min Max type enum: - - Minimum - - Maximum + - Minimum + - Maximum FeeCapOccurrence: - description: >- - Indicates whether the advertised overdraft - rate is guaranteed to be offered to a borrower - by the bank e.g. if it’s part of a government - scheme, or whether the rate may vary dependent - on the applicant’s circumstances. title: FeeCapOccurrence type: number + description: Indicates whether the advertised overdraft + rate is guaranteed to be offered to a borrower by + the bank e.g. if it’s part of a government scheme, + or whether the rate may vary dependent on the applicant’s + circumstances. format: float FeeCapAmount: - description: Cap amount charged for a fee/charge title: FeeCapAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge CappingPeriod: - description: >- - Period e.g. day, week, month etc. for which - the fee/charge is capped title: CappingPeriod type: string + description: Period e.g. day, week, month etc. for + which the fee/charge is capped enum: - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: Notes related to Overdraft fee charge cap title: Notes type: array + description: Notes related to Overdraft fee charge + cap items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other fee type code which is not available in - the standard code set - type: array title: OtherFeeType + type: array + description: Other fee type code which is not available + in the standard code set items: - description: >- - Other fee type code which is not available - in the standard code set + required: + - Description + - Name type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within + an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - required: - - Name - - Description - required: - - FeeType - - MinMaxType + minLength: 1 + type: string + description: Description to describe the purpose + of the code + description: Other fee type code which is not available + in the standard code set + description: Details about any caps (maximum charges) + that apply to a particular fee/charge. Capping can either + be based on an amount (in gbp), an amount (in items) + or a rate. OverdraftFeeChargeDetail: - description: Details about the fees/charges - type: array title: OverdraftFeeChargeDetail + minItems: 1 + type: array + description: Details about the fees/charges items: - description: Details about the fees/charges + required: + - ApplicationFrequency + - FeeType type: object properties: FeeType: - description: Overdraft fee type title: FeeType type: string + description: Overdraft fee type enum: - - ArrangedOverdraft - - AnnualReview - - EmergencyBorrowing - - BorrowingItem - - OverdraftRenewal - - OverdraftSetup - - Surcharge - - TempOverdraft - - UnauthorisedBorrowing - - UnauthorisedPaidTrans - - Other - - UnauthorisedUnpaidTrans + - ArrangedOverdraft + - AnnualReview + - EmergencyBorrowing + - BorrowingItem + - OverdraftRenewal + - OverdraftSetup + - Surcharge + - TempOverdraft + - UnauthorisedBorrowing + - UnauthorisedPaidTrans + - Other + - UnauthorisedUnpaidTrans NegotiableIndicator: - description: >- - Indicates whether fee and charges are - negotiable title: NegotiableIndicator type: boolean + description: Indicates whether fee and charges are + negotiable OverdraftControlIndicator: - description: >- - Indicates if the fee/charge is already covered - by an 'Overdraft Control' fee or not. title: OverdraftControlIndicator type: boolean + description: Indicates if the fee/charge is already + covered by an 'Overdraft Control' fee or not. IncrementalBorrowingAmount: - description: >- - Every additional tranche of an overdraft - balance to which an overdraft fee is applied title: IncrementalBorrowingAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Every additional tranche of an overdraft + balance to which an overdraft fee is applied FeeAmount: - description: >- - Amount charged for an overdraft fee/charge - (where it is charged in terms of an amount - rather than a rate) title: FeeAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Amount charged for an overdraft fee/charge + (where it is charged in terms of an amount rather + than a rate) FeeRate: - description: >- - Rate charged for overdraft fee/charge (where - it is charged in terms of a rate rather than - an amount) title: FeeRate + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: Rate charged for overdraft fee/charge + (where it is charged in terms of a rate rather than + an amount) FeeRateType: - description: >- - Rate type for overdraft fee/charge (where it - is charged in terms of a rate rather than an - amount) title: FeeRateType type: string + description: Rate type for overdraft fee/charge (where + it is charged in terms of a rate rather than an + amount) enum: - - Gross - - Other + - Gross + - Other ApplicationFrequency: - description: >- - Frequency at which the overdraft charge is - applied to the account title: ApplicationFrequency type: string + description: Frequency at which the overdraft charge + is applied to the account enum: - - OnClosing - - OnOpening - - ChargingPeriod - - Daily - - PerItem - - Monthly - - OnAnniversary - - Other - - PerHundredPounds - - PerHour - - PerOccurrence - - PerSheet - - PerTransaction - - PerTransactionAmount - - PerTransactionPercentage - - Quarterly - - SixMonthly - - StatementMonthly - - Weekly - - Yearly + - OnClosing + - OnOpening + - ChargingPeriod + - Daily + - PerItem + - Monthly + - OnAnniversary + - Other + - PerHundredPounds + - PerHour + - PerOccurrence + - PerSheet + - PerTransaction + - PerTransactionAmount + - PerTransactionPercentage + - Quarterly + - SixMonthly + - StatementMonthly + - Weekly + - Yearly CalculationFrequency: - description: >- - How often is the overdraft fee/charge - calculated for the account. title: CalculationFrequency type: string + description: How often is the overdraft fee/charge + calculated for the account. enum: - - OnClosing - - OnOpening - - ChargingPeriod - - Daily - - PerItem - - Monthly - - OnAnniversary - - Other - - PerHundredPounds - - PerHour - - PerOccurrence - - PerSheet - - PerTransaction - - PerTransactionAmount - - PerTransactionPercentage - - Quarterly - - SixMonthly - - StatementMonthly - - Weekly - - Yearly + - OnClosing + - OnOpening + - ChargingPeriod + - Daily + - PerItem + - Monthly + - OnAnniversary + - Other + - PerHundredPounds + - PerHour + - PerOccurrence + - PerSheet + - PerTransaction + - PerTransactionAmount + - PerTransactionPercentage + - Quarterly + - SixMonthly + - StatementMonthly + - Weekly + - Yearly Notes: - description: >- - Free text for capturing any other info related - to Overdraft Fees Charge Details title: Notes type: array + description: Free text for capturing any other info + related to Overdraft Fees Charge Details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OverdraftFeeChargeCap: - description: >- - Details about any caps (maximum charges) that - apply to a particular fee/charge. Capping can - either be based on an amount (in gbp), an - amount (in items) or a rate. - type: array title: OverdraftFeeChargeCap + type: array + description: Details about any caps (maximum charges) + that apply to a particular fee/charge. Capping can + either be based on an amount (in gbp), an amount + (in items) or a rate. items: - description: >- - Details about any caps (maximum charges) - that apply to a particular fee/charge. - Capping can either be based on an amount (in - gbp), an amount (in items) or a rate. + required: + - FeeType + - MinMaxType type: object properties: FeeType: - description: Fee/charge type which is being capped title: FeeType + minItems: 1 type: array + description: Fee/charge type which is being + capped items: - description: Overdraft fee type type: string + description: Overdraft fee type enum: - - ArrangedOverdraft - - AnnualReview - - EmergencyBorrowing - - BorrowingItem - - OverdraftRenewal - - OverdraftSetup - - Surcharge - - TempOverdraft - - UnauthorisedBorrowing - - UnauthorisedPaidTrans - - Other - - UnauthorisedUnpaidTrans - minItems: 1 + - ArrangedOverdraft + - AnnualReview + - EmergencyBorrowing + - BorrowingItem + - OverdraftRenewal + - OverdraftSetup + - Surcharge + - TempOverdraft + - UnauthorisedBorrowing + - UnauthorisedPaidTrans + - Other + - UnauthorisedUnpaidTrans MinMaxType: - description: Min Max type title: MinMaxType type: string + description: Min Max type enum: - - Minimum - - Maximum + - Minimum + - Maximum FeeCapOccurrence: - description: >- - Indicates whether the advertised - overdraft rate is guaranteed to be - offered to a borrower by the bank e.g. - if it’s part of a government scheme, or - whether the rate may vary dependent on - the applicant’s circumstances. title: FeeCapOccurrence type: number + description: Indicates whether the advertised + overdraft rate is guaranteed to be offered + to a borrower by the bank e.g. if it’s part + of a government scheme, or whether the rate + may vary dependent on the applicant’s circumstances. format: float FeeCapAmount: - description: Cap amount charged for a fee/charge title: FeeCapAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge CappingPeriod: - description: >- - Period e.g. day, week, month etc. for - which the fee/charge is capped title: CappingPeriod type: string + description: Period e.g. day, week, month etc. + for which the fee/charge is capped enum: - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: >- - Notes related to Overdraft fee charge - cap title: Notes type: array + description: Notes related to Overdraft fee + charge cap items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other fee type code which is not - available in the standard code set - type: array title: OtherFeeType + type: array + description: Other fee type code which is not + available in the standard code set items: - description: >- - Other fee type code which is not - available in the standard code set + required: + - Description + - Name type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic + used within an XML file to identify + a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 - Description: - description: >- - Description to describe the purpose of + minLength: 1 + type: string + description: Long name associated with the code + Description: title: Description - type: string - minLength: 1 maxLength: 350 - required: - - Name - - Description - required: - - FeeType - - MinMaxType + minLength: 1 + type: string + description: Description to describe the + purpose of the code + description: Other fee type code which is + not available in the standard code set + description: Details about any caps (maximum charges) + that apply to a particular fee/charge. Capping + can either be based on an amount (in gbp), an + amount (in items) or a rate. OtherFeeType: - description: >- - Other Fee type which is not available in the - standard code set - type: object title: OtherFeeType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within + an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: >- - Description to describe the purpose of the - code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose + of the code + description: Other Fee type which is not available + in the standard code set OtherFeeRateType: - description: >- - Other fee rate type code which is not - available in the standard code set - type: object title: OtherFeeRateType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within + an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: >- - Description to describe the purpose of the - code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose + of the code + description: Other fee rate type code which is not + available in the standard code set OtherApplicationFrequency: - description: >- - Other application frequencies that are not - available in the standard code list - type: object title: OtherApplicationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within + an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: >- - Description to describe the purpose of the - code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose + of the code + description: Other application frequencies that are + not available in the standard code list OtherCalculationFrequency: - description: >- - Other calculation frequency which is not - available in the standard code set. - type: object title: OtherCalculationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within + an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: >- - Description to describe the purpose of the - code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description - required: - - FeeType - - ApplicationFrequency - minItems: 1 - required: - - OverdraftFeeChargeDetail - required: - - TierBandMethod - - OverdraftTierBand - minItems: 1 - additionalProperties: false - required: - - OverdraftTierBandSet + minLength: 1 + type: string + description: Description to describe the purpose + of the code + description: Other calculation frequency which is + not available in the standard code set. + description: Details about the fees/charges + description: Overdraft fees and charges details + description: Tier band set details + description: Borrowing details OtherFeesCharges: - description: >- - Contains details of fees and charges which are not associated with - either Overdraft or features/benefits - type: array title: OtherFeesCharges + type: array + description: Contains details of fees and charges which are not associated + with either Overdraft or features/benefits items: - description: >- - Contains details of fees and charges which are not associated with - either Overdraft or features/benefits + required: + - FeeChargeDetail type: object properties: TariffType: - description: TariffType which defines the fee and charges. title: TariffType type: string + description: TariffType which defines the fee and charges. enum: - - Electronic - - Mixed - - Other + - Electronic + - Mixed + - Other TariffName: - description: Name of the tariff title: TariffName - type: string - minLength: 1 maxLength: 350 + minLength: 1 + type: string + description: Name of the tariff OtherTariffType: - description: Other tariff type which is not in the standard list. - type: object title: OtherTariffType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file to - identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML file + to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of the code + description: Other tariff type which is not in the standard list. FeeChargeDetail: - description: Other fees/charges details - type: array title: FeeChargeDetail + minItems: 1 + type: array + description: Other fees/charges details items: - description: Other fees/charges details + required: + - ApplicationFrequency + - FeeCategory + - FeeType type: object properties: FeeCategory: - description: >- - Categorisation of fees and charges into standard - categories. title: FeeCategory type: string + description: Categorisation of fees and charges into standard + categories. enum: - - Other - - Servicing + - Other + - Servicing FeeType: - description: Fee/Charge Type title: FeeType type: string + description: Fee/Charge Type enum: - - Other - - ServiceCAccountFee - - ServiceCAccountFeeMonthly - - ServiceCAccountFeeQuarterly - - ServiceCFixedTariff - - ServiceCBusiDepAccBreakage - - ServiceCMinimumMonthlyFee - - ServiceCOther + - Other + - ServiceCAccountFee + - ServiceCAccountFeeMonthly + - ServiceCAccountFeeQuarterly + - ServiceCFixedTariff + - ServiceCBusiDepAccBreakage + - ServiceCMinimumMonthlyFee + - ServiceCOther NegotiableIndicator: - description: >- - Fee/charge which is usually negotiable rather than a - fixed amount title: NegotiableIndicator type: boolean + description: Fee/charge which is usually negotiable rather than + a fixed amount FeeAmount: - description: >- - Fee Amount charged for a fee/charge (where it is charged - in terms of an amount rather than a rate) title: FeeAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Fee Amount charged for a fee/charge (where it is + charged in terms of an amount rather than a rate) FeeRate: - description: >- - Rate charged for Fee/Charge (where it is charged in - terms of a rate rather than an amount) title: FeeRate + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: Rate charged for Fee/Charge (where it is charged + in terms of a rate rather than an amount) FeeRateType: - description: >- - Rate type for Fee/Charge (where it is charged in terms - of a rate rather than an amount) title: FeeRateType type: string + description: Rate type for Fee/Charge (where it is charged in + terms of a rate rather than an amount) enum: - - Gross - - Other + - Gross + - Other ApplicationFrequency: - description: How frequently the fee/charge is applied to the account title: ApplicationFrequency type: string + description: How frequently the fee/charge is applied to the + account enum: - - OnClosing - - OnOpening - - ChargingPeriod - - Daily - - PerItem - - Monthly - - OnAnniversary - - Other - - PerHundredPounds - - PerHour - - PerOccurrence - - PerSheet - - PerTransaction - - PerTransactionAmount - - PerTransactionPercentage - - Quarterly - - SixMonthly - - StatementMonthly - - Weekly - - Yearly + - OnClosing + - OnOpening + - ChargingPeriod + - Daily + - PerItem + - Monthly + - OnAnniversary + - Other + - PerHundredPounds + - PerHour + - PerOccurrence + - PerSheet + - PerTransaction + - PerTransactionAmount + - PerTransactionPercentage + - Quarterly + - SixMonthly + - StatementMonthly + - Weekly + - Yearly CalculationFrequency: - description: How frequently the fee/charge is calculated title: CalculationFrequency type: string + description: How frequently the fee/charge is calculated enum: - - OnClosing - - OnOpening - - ChargingPeriod - - Daily - - PerItem - - Monthly - - OnAnniversary - - Other - - PerHundredPounds - - PerHour - - PerOccurrence - - PerSheet - - PerTransaction - - PerTransactionAmount - - PerTransactionPercentage - - Quarterly - - SixMonthly - - StatementMonthly - - Weekly - - Yearly + - OnClosing + - OnOpening + - ChargingPeriod + - Daily + - PerItem + - Monthly + - OnAnniversary + - Other + - PerHundredPounds + - PerHour + - PerOccurrence + - PerSheet + - PerTransaction + - PerTransactionAmount + - PerTransactionPercentage + - Quarterly + - SixMonthly + - StatementMonthly + - Weekly + - Yearly Notes: - description: >- - Optional additional notes to supplement the fee/charge - details. title: Notes type: array + description: Optional additional notes to supplement the fee/charge + details. items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text FeeChargeCap: - description: >- - Details about any caps (maximum charges) that apply to a - particular or group of fee/charge - type: array title: FeeChargeCap + type: array + description: Details about any caps (maximum charges) that apply + to a particular or group of fee/charge items: - description: >- - Details about any caps (maximum charges) that apply to - a particular or group of fee/charge + required: + - FeeType + - MinMaxType type: object properties: FeeType: - description: Fee/charge type which is being capped title: FeeType + minItems: 1 type: array + description: Fee/charge type which is being capped items: - description: Fee/charge type which is being capped type: string + description: Fee/charge type which is being capped enum: - - Other - - ServiceCAccountFee - - ServiceCAccountFeeMonthly - - ServiceCAccountFeeQuarterly - - ServiceCFixedTariff - - ServiceCBusiDepAccBreakage - - ServiceCMinimumMonthlyFee - - ServiceCOther - minItems: 1 + - Other + - ServiceCAccountFee + - ServiceCAccountFeeMonthly + - ServiceCAccountFeeQuarterly + - ServiceCFixedTariff + - ServiceCBusiDepAccBreakage + - ServiceCMinimumMonthlyFee + - ServiceCOther MinMaxType: - description: Min Max type title: MinMaxType type: string + description: Min Max type enum: - - Minimum - - Maximum + - Minimum + - Maximum FeeCapOccurrence: - description: >- - fee/charges are captured dependent on the number - of occurrences rather than capped at a particular - amount title: FeeCapOccurrence type: number + description: fee/charges are captured dependent on the + number of occurrences rather than capped at a particular + amount format: float FeeCapAmount: - description: >- - Cap amount charged for a fee/charge (where it is - charged in terms of an amount rather than a rate) title: FeeCapAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge (where + it is charged in terms of an amount rather than a rate) CappingPeriod: - description: >- - Period e.g. day, week, month etc. for which the - fee/charge is capped title: CappingPeriod type: string + description: Period e.g. day, week, month etc. for which + the fee/charge is capped enum: - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: >- - Free text for adding extra details for fee charge - cap title: Notes type: array + description: Free text for adding extra details for fee + charge cap items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other fee type code which is not available in the - standard code set - type: array title: OtherFeeType + type: array + description: Other fee type code which is not available + in the standard code set items: - description: >- - Other fee type code which is not available in - the standard code set + required: + - Description + - Name type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML - file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within + an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: >- - Description to describe the purpose of the - code title: Description - type: string - minLength: 1 maxLength: 350 - required: - - Name - - Description - required: - - FeeType - - MinMaxType + minLength: 1 + type: string + description: Description to describe the purpose + of the code + description: Other fee type code which is not available + in the standard code set + description: Details about any caps (maximum charges) that + apply to a particular or group of fee/charge OtherFeeCategoryType: - type: object title: OtherFeeCategoryType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file to - identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML + file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of the + code OtherFeeType: - description: >- - Other Fee/charge type which is not available in the - standard code set - type: object title: OtherFeeType + required: + - Description + - FeeCategory + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file to - identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML + file to identify a code FeeCategory: - description: >- - Categorisation of fees and charges into standard - categories. title: FeeCategory type: string + description: Categorisation of fees and charges into standard + categories. enum: - - Other - - Servicing + - Other + - Servicing Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - FeeCategory - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of the + code + description: Other Fee/charge type which is not available in + the standard code set OtherFeeRateType: - description: >- - Other fee rate type which is not available in the - standard code set - type: object title: OtherFeeRateType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file to - identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML + file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of the + code + description: Other fee rate type which is not available in the + standard code set OtherApplicationFrequency: - description: >- - Other application frequencies not covered in the - standard code list - type: object title: OtherApplicationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file to - identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML + file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of the + code + description: Other application frequencies not covered in the + standard code list OtherCalculationFrequency: - description: >- - Other calculation frequency which is not available in - standard code set. - type: object title: OtherCalculationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file to - identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML + file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of the + code + description: Other calculation frequency which is not available + in standard code set. FeeApplicableRange: - description: >- - Range or amounts or rates for which the fee/charge - applies - type: object title: FeeApplicableRange + type: object properties: MinimumAmount: - description: >- - Minimum Amount on which fee/charge is applicable - (where it is expressed as an amount) title: MinimumAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Minimum Amount on which fee/charge is applicable + (where it is expressed as an amount) MaximumAmount: - description: >- - Maximum Amount on which fee is applicable (where it - is expressed as an amount) title: MaximumAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Maximum Amount on which fee is applicable (where + it is expressed as an amount) MinimumRate: - description: >- - Minimum rate on which fee/charge is applicable(where - it is expressed as an rate) title: MinimumRate + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' - MaximumRate: - description: >- - Maximum rate on which fee/charge is applicable(where + description: Minimum rate on which fee/charge is applicable(where it is expressed as an rate) + MaximumRate: title: MaximumRate + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' - additionalProperties: false - required: - - FeeCategory - - FeeType - - ApplicationFrequency - minItems: 1 + description: Maximum rate on which fee/charge is applicable(where + it is expressed as an rate) + description: Range or amounts or rates for which the fee/charge + applies + description: Other fees/charges details FeeChargeCap: - description: >- - Details about any caps (maximum charges) that apply to a - particular or group of fee/charge - type: array title: FeeChargeCap + type: array + description: Details about any caps (maximum charges) that apply to + a particular or group of fee/charge items: - description: >- - Details about any caps (maximum charges) that apply to a - particular or group of fee/charge + required: + - FeeType + - MinMaxType type: object properties: FeeType: - description: Fee/charge type which is being capped title: FeeType + minItems: 1 type: array + description: Fee/charge type which is being capped items: - description: Fee/charge type which is being capped type: string + description: Fee/charge type which is being capped enum: - - Other - - ServiceCAccountFee - - ServiceCAccountFeeMonthly - - ServiceCAccountFeeQuarterly - - ServiceCFixedTariff - - ServiceCBusiDepAccBreakage - - ServiceCMinimumMonthlyFee - - ServiceCOther - minItems: 1 + - Other + - ServiceCAccountFee + - ServiceCAccountFeeMonthly + - ServiceCAccountFeeQuarterly + - ServiceCFixedTariff + - ServiceCBusiDepAccBreakage + - ServiceCMinimumMonthlyFee + - ServiceCOther MinMaxType: - description: Min Max type title: MinMaxType type: string + description: Min Max type enum: - - Minimum - - Maximum + - Minimum + - Maximum FeeCapOccurrence: - description: >- - fee/charges are captured dependent on the number of - occurrences rather than capped at a particular amount title: FeeCapOccurrence type: number + description: fee/charges are captured dependent on the number + of occurrences rather than capped at a particular amount format: float FeeCapAmount: - description: >- - Cap amount charged for a fee/charge (where it is charged - in terms of an amount rather than a rate) title: FeeCapAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge (where it is + charged in terms of an amount rather than a rate) CappingPeriod: - description: >- - Period e.g. day, week, month etc. for which the - fee/charge is capped title: CappingPeriod type: string + description: Period e.g. day, week, month etc. for which the + fee/charge is capped enum: - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: Free text for adding extra details for fee charge cap title: Notes type: array + description: Free text for adding extra details for fee charge + cap items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other fee type code which is not available in the - standard code set - type: array title: OtherFeeType + type: array + description: Other fee type code which is not available in the + standard code set items: - description: >- - Other fee type code which is not available in the - standard code set + required: + - Description + - Name type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file - to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML + file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - required: - - Name - - Description - required: - - FeeType - - MinMaxType - required: - - FeeChargeDetail - additionalProperties: false + minLength: 1 + type: string + description: Description to describe the purpose of the + code + description: Other fee type code which is not available in + the standard code set + description: Details about any caps (maximum charges) that apply + to a particular or group of fee/charge + description: Contains details of fees and charges which are not associated + with either Overdraft or features/benefits OBBalanceType1Code: - description: 'Balance type, in a coded form.' type: string + description: Balance type, in a coded form. enum: - - ClosingAvailable - - ClosingBooked - - ClosingCleared - - Expected - - ForwardAvailable - - Information - - InterimAvailable - - InterimBooked - - InterimCleared - - OpeningAvailable - - OpeningBooked - - OpeningCleared - - PreviouslyClosedBooked + - ClosingAvailable + - ClosingBooked + - ClosingCleared + - Expected + - ForwardAvailable + - Information + - InterimAvailable + - InterimBooked + - InterimCleared + - OpeningAvailable + - OpeningBooked + - OpeningCleared + - PreviouslyClosedBooked OBBankTransactionCodeStructure1: - type: object required: - - Code - - SubCode - description: >- - Set of elements used to fully identify the type of underlying - transaction resulting in an entry. + - Code + - SubCode + type: object properties: Code: - description: Specifies the family within a domain. - type: string - minLength: 1 maxLength: 4 - SubCode: - description: Specifies the sub-product family within a specific family. - type: string minLength: 1 + type: string + description: Specifies the family within a domain. + SubCode: maxLength: 4 + minLength: 1 + type: string + description: Specifies the sub-product family within a specific family. + description: Set of elements used to fully identify the type of underlying transaction + resulting in an entry. OBBeneficiary5: - oneOf: - - $ref: '#/components/schemas/OBBeneficiary5Basic' - - $ref: '#/components/schemas/OBBeneficiary5Detail' + type: object + properties: + AccountId: + $ref: '#/components/schemas/AccountId' + BeneficiaryId: + $ref: '#/components/schemas/BeneficiaryId' + BeneficiaryType: + $ref: '#/components/schemas/OBBeneficiaryType1Code' + Reference: + $ref: '#/components/schemas/Reference' + SupplementaryData: + $ref: '#/components/schemas/OBSupplementaryData1' + CreditorAgent: + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification6_0' + CreditorAccount: + $ref: '#/components/schemas/OBCashAccount5_0' OBBeneficiary5Basic: type: object properties: @@ -4715,8 +7523,9 @@ components: $ref: '#/components/schemas/Reference' SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' - additionalProperties: false OBBeneficiary5Detail: + required: + - CreditorAccount type: object properties: AccountId: @@ -4730,98 +7539,78 @@ components: SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' CreditorAgent: - $ref: >- - #/components/schemas/OBBranchAndFinancialInstitutionIdentification6_0 + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification6_0' CreditorAccount: $ref: '#/components/schemas/OBCashAccount5_0' - additionalProperties: false - required: - - CreditorAccount OBBranchAndFinancialInstitutionIdentification5_0: - type: object required: - - SchemeName - - Identification - description: >- - Party that manages the account on behalf of the account owner, that is - manages the registration and booking of entries on the account, - calculates balances on the account and provides information about the - account. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' + description: Party that manages the account on behalf of the account owner, + that is manages the registration and booking of entries on the account, calculates + balances on the account and provides information about the account. OBBranchAndFinancialInstitutionIdentification5_1: - type: object required: - - SchemeName - - Identification - description: >- - Party that manages the account on behalf of the account owner, that is - manages the registration and booking of entries on the account, - calculates balances on the account and provides information about the - account. - - This is the servicer of the beneficiary account. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' + description: |- + Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account. + This is the servicer of the beneficiary account. OBBranchAndFinancialInstitutionIdentification6_0: type: object - description: >- - Party that manages the account on behalf of the account owner, that is - manages the registration and booking of entries on the account, - calculates balances on the account and provides information about the - account. - - This is the servicer of the beneficiary account. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name_1' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: |- + Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account. + This is the servicer of the beneficiary account. OBBranchAndFinancialInstitutionIdentification6_1: type: object - description: Financial institution servicing an account for the creditor. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_2' Name: $ref: '#/components/schemas/Name_1' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Financial institution servicing an account for the creditor. OBBranchAndFinancialInstitutionIdentification6_2: type: object - description: Financial institution servicing an account for the debtor. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_2' Name: $ref: '#/components/schemas/Name_1' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Financial institution servicing an account for the debtor. OBCashAccount5_0: - type: object required: - - SchemeName - - Identification - description: Provides the details to identify the beneficiary account. + - Identification + - SchemeName + type: object properties: SchemeName: $ref: '#/components/schemas/OBExternalAccountIdentification4Code' @@ -4831,29 +7620,27 @@ components: $ref: '#/components/schemas/Name_0' SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the beneficiary account. OBCashAccount5_1: - type: object required: - - SchemeName - - Identification - description: Provides the details to identify the beneficiary account. + - Identification + - SchemeName + type: object properties: SchemeName: $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: - description: Beneficiary account identification. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Beneficiary account identification. Name: $ref: '#/components/schemas/Name_0' SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the beneficiary account. OBCashAccount6_0: type: object - description: >- - Unambiguous identification of the account of the creditor, in the case - of a debit transaction. properties: SchemeName: $ref: '#/components/schemas/OBExternalAccountIdentification4Code' @@ -4863,11 +7650,10 @@ components: $ref: '#/components/schemas/Name_0' SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor, in the + case of a debit transaction. OBCashAccount6_1: type: object - description: >- - Unambiguous identification of the account of the debtor, in the case of - a crebit transaction. properties: SchemeName: $ref: '#/components/schemas/OBExternalAccountIdentification4Code' @@ -4877,2632 +7663,2423 @@ components: $ref: '#/components/schemas/Name_0' SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor, in the + case of a crebit transaction. OBCreditDebitCode_0: - description: |- - Indicates whether the amount is a credit or a debit. - Usage: A zero amount is considered to be a credit amount. type: string + description: "Indicates whether the amount is a credit or a debit. \nUsage:\ + \ A zero amount is considered to be a credit amount." enum: - - Credit - - Debit + - Credit + - Debit OBCreditDebitCode_1: - description: Indicates whether the transaction is a credit or a debit entry. type: string + description: Indicates whether the transaction is a credit or a debit entry. enum: - - Credit - - Debit + - Credit + - Debit OBCreditDebitCode_2: - description: |- - Indicates whether the balance is a credit or a debit balance. - Usage: A zero balance is considered to be a credit balance. type: string + description: "Indicates whether the balance is a credit or a debit balance.\ + \ \nUsage: A zero balance is considered to be a credit balance." enum: - - Credit - - Debit + - Credit + - Debit OBCurrencyExchange5: - type: object required: - - SourceCurrency - - ExchangeRate - description: Set of elements used to provide details on the currency exchange. + - ExchangeRate + - SourceCurrency + type: object properties: SourceCurrency: - description: >- - Currency from which an amount is to be converted in a currency - conversion. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' - TargetCurrency: - description: >- - Currency into which an amount is to be converted in a currency + description: Currency from which an amount is to be converted in a currency conversion. + TargetCurrency: + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency into which an amount is to be converted in a currency + conversion. UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a currency - exchange. In the example 1GBP = xxxCUR, the unit currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed in a currency + exchange. In the example 1GBP = xxxCUR, the unit currency is GBP. ExchangeRate: - description: >- - Factor used to convert an amount from one currency into another. - This reflects the price at which one currency was bought with - another currency. - - Usage: ExchangeRate expresses the ratio between UnitCurrency and - QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency). type: number + description: |- + Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency. + Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency). ContractIdentification: - description: >- - Unique identification to unambiguously identify the foreign exchange - contract. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique identification to unambiguously identify the foreign + exchange contract. QuotationDate: - description: >- - Date and time at which an exchange rate is quoted.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which an exchange rate is quoted.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format. \n\ + All date-time fields in responses must include the timezone. An example\ + \ is below:\n2017-04-05T10:43:07+00:00" format: date-time InstructedAmount: - type: object required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, before - deduction of charges, expressed in the currency as ordered by the - initiating party. + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: Amount of money to be moved between the debtor and creditor, + before deduction of charges, expressed in the currency as ordered by the + initiating party. + description: Set of elements used to provide details on the currency exchange. OBEntryStatus1Code: - description: Status of a transaction entry on the books of the account servicer. type: string + description: Status of a transaction entry on the books of the account servicer. enum: - - Booked - - Pending + - Booked + - Pending OBTransactionMutability1Code: - description: Specifies the Mutability of the Transaction record. type: string + description: Specifies the Mutability of the Transaction record. enum: - - Mutable - - Immutable + - Mutable + - Immutable OBError1: + required: + - ErrorCode + - Message type: object properties: ErrorCode: - description: 'Low level textual error code, e.g., UK.OBIE.Field.Missing' type: string + description: Low level textual error code, e.g., UK.OBIE.Field.Missing x-namespaced-enum: - - UK.OBIE.Field.Expected - - UK.OBIE.Field.Invalid - - UK.OBIE.Field.InvalidDate - - UK.OBIE.Field.Missing - - UK.OBIE.Field.Unexpected - - UK.OBIE.Header.Invalid - - UK.OBIE.Header.Missing - - UK.OBIE.Reauthenticate - - UK.OBIE.Resource.ConsentMismatch - - UK.OBIE.Resource.InvalidConsentStatus - - UK.OBIE.Resource.InvalidFormat - - UK.OBIE.Resource.NotFound - - UK.OBIE.Rules.AfterCutOffDateTime - - UK.OBIE.Rules.DuplicateReference - - UK.OBIE.Signature.Invalid - - UK.OBIE.Signature.InvalidClaim - - UK.OBIE.Signature.Malformed - - UK.OBIE.Signature.Missing - - UK.OBIE.Signature.MissingClaim - - UK.OBIE.Signature.Unexpected - - UK.OBIE.UnexpectedError - - UK.OBIE.Unsupported.AccountIdentifier - - UK.OBIE.Unsupported.AccountSecondaryIdentifier - - UK.OBIE.Unsupported.Currency - - UK.OBIE.Unsupported.Frequency - - UK.OBIE.Unsupported.LocalInstrument - - UK.OBIE.Unsupported.Scheme + - UK.OBIE.Field.Expected + - UK.OBIE.Field.Invalid + - UK.OBIE.Field.InvalidDate + - UK.OBIE.Field.Missing + - UK.OBIE.Field.Unexpected + - UK.OBIE.Header.Invalid + - UK.OBIE.Header.Missing + - UK.OBIE.Reauthenticate + - UK.OBIE.Resource.ConsentMismatch + - UK.OBIE.Resource.InvalidConsentStatus + - UK.OBIE.Resource.InvalidFormat + - UK.OBIE.Resource.NotFound + - UK.OBIE.Rules.AfterCutOffDateTime + - UK.OBIE.Rules.DuplicateReference + - UK.OBIE.Signature.Invalid + - UK.OBIE.Signature.InvalidClaim + - UK.OBIE.Signature.Malformed + - UK.OBIE.Signature.Missing + - UK.OBIE.Signature.MissingClaim + - UK.OBIE.Signature.Unexpected + - UK.OBIE.UnexpectedError + - UK.OBIE.Unsupported.AccountIdentifier + - UK.OBIE.Unsupported.AccountSecondaryIdentifier + - UK.OBIE.Unsupported.Currency + - UK.OBIE.Unsupported.Frequency + - UK.OBIE.Unsupported.LocalInstrument + - UK.OBIE.Unsupported.Scheme Message: - description: >- - A description of the error that occurred. e.g., 'A mandatory field - isn't supplied' or 'RequestedExecutionDateTime must be in future' - - OBIE doesn't standardise this field - type: string - minLength: 1 maxLength: 500 - Path: - description: >- - Recommended but optional reference to the JSON Path of the field - with error, e.g., Data.Initiation.InstructedAmount.Currency - type: string minLength: 1 + type: string + description: |- + A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future' + OBIE doesn't standardise this field + Path: maxLength: 500 + minLength: 1 + type: string + description: Recommended but optional reference to the JSON Path of the + field with error, e.g., Data.Initiation.InstructedAmount.Currency Url: - description: >- - URL to help remediate the problem, or provide more information, or - to API Reference, or help etc type: string - required: - - ErrorCode - - Message - additionalProperties: false - minProperties: 1 + description: URL to help remediate the problem, or provide more information, + or to API Reference, or help etc OBErrorResponse1: - description: >- - An array of detail error codes, and messages, and URLs to documentation - to help remediation. + required: + - Code + - Errors + - Message type: object properties: Code: - description: 'High level textual error code, to help categorize the errors.' - type: string - minLength: 1 maxLength: 40 - Id: - description: >- - A unique reference for the error instance, for audit purposes, in - case of unknown/unclassified errors. - type: string minLength: 1 - maxLength: 40 - Message: - description: >- - Brief Error message, e.g., 'There is something wrong with the - request parameters provided' type: string + description: High level textual error code, to help categorize the errors. + Id: + maxLength: 40 minLength: 1 + type: string + description: A unique reference for the error instance, for audit purposes, + in case of unknown/unclassified errors. + Message: maxLength: 500 + minLength: 1 + type: string + description: Brief Error message, e.g., 'There is something wrong with the + request parameters provided' Errors: + minItems: 1 + type: array items: $ref: '#/components/schemas/OBError1' - type: array - minItems: 1 - required: - - Code - - Message - - Errors - additionalProperties: false + description: An array of detail error codes, and messages, and URLs to documentation + to help remediation. OBExternalAccountIdentification4Code: - description: >- - Name of the identification scheme, in a coded form as published in an - external list. type: string + description: Name of the identification scheme, in a coded form as published + in an external list. x-namespaced-enum: - - UK.OBIE.BBAN - - UK.OBIE.IBAN - - UK.OBIE.PAN - - UK.OBIE.Paym - - UK.OBIE.SortCodeAccountNumber + - UK.OBIE.BBAN + - UK.OBIE.IBAN + - UK.OBIE.PAN + - UK.OBIE.Paym + - UK.OBIE.SortCodeAccountNumber OBExternalAccountRole1Code: - description: A party’s role with respect to the related account. type: string + description: A party’s role with respect to the related account. x-namespaced-enum: - - UK.OBIE.Administrator - - UK.OBIE.Beneficiary - - UK.OBIE.CustodianForMinor - - UK.OBIE.Granter - - UK.OBIE.LegalGuardian - - UK.OBIE.OtherParty - - UK.OBIE.PowerOfAttorney - - UK.OBIE.Principal - - UK.OBIE.Protector - - UK.OBIE.RegisteredShareholderName - - UK.OBIE.SecondaryOwner - - UK.OBIE.SeniorManagingOfficial - - UK.OBIE.Settlor - - UK.OBIE.SuccessorOnDeath + - UK.OBIE.Administrator + - UK.OBIE.Beneficiary + - UK.OBIE.CustodianForMinor + - UK.OBIE.Granter + - UK.OBIE.LegalGuardian + - UK.OBIE.OtherParty + - UK.OBIE.PowerOfAttorney + - UK.OBIE.Principal + - UK.OBIE.Protector + - UK.OBIE.RegisteredShareholderName + - UK.OBIE.SecondaryOwner + - UK.OBIE.SeniorManagingOfficial + - UK.OBIE.Settlor + - UK.OBIE.SuccessorOnDeath OBExternalAccountSubType1Code: - description: Specifies the sub type of account (product family group). type: string + description: Specifies the sub type of account (product family group). enum: - - ChargeCard - - CreditCard - - CurrentAccount - - EMoney - - Loan - - Mortgage - - PrePaidCard - - Savings + - ChargeCard + - CreditCard + - CurrentAccount + - EMoney + - Loan + - Mortgage + - PrePaidCard + - Savings OBExternalAccountType1Code: - description: Specifies the type of account (personal or business). type: string + description: Specifies the type of account (personal or business). enum: - - Business - - Personal + - Business + - Personal OBExternalDirectDebitStatus1Code: - description: Specifies the status of the direct debit in code form. type: string + description: Specifies the status of the direct debit in code form. enum: - - Active - - Inactive + - Active + - Inactive OBExternalFinancialInstitutionIdentification4Code: - description: >- - Name of the identification scheme, in a coded form as published in an - external list. type: string + description: Name of the identification scheme, in a coded form as published + in an external list. x-namespaced-enum: - - UK.OBIE.BICFI + - UK.OBIE.BICFI + OBExternalSwitchStatusCode: + type: string + description: Specifies the switch status for the account, in a coded form. + x-namespaced-enum: + - UK.CASS.NotSwitced + - UK.CASS.SwitchCompleted OBExternalLegalStructureType1Code: - description: Legal standing of the party. type: string + description: Legal standing of the party. x-namespaced-enum: - - UK.OBIE.CIC - - UK.OBIE.CIO - - UK.OBIE.Charity - - UK.OBIE.CoOp - - UK.OBIE.GeneralPartnership - - UK.OBIE.Individual - - UK.OBIE.LimitedLiabilityPartnership - - UK.OBIE.LimitedPartnership - - UK.OBIE.PrivateLimitedCompany - - UK.OBIE.PublicLimitedCompany - - UK.OBIE.ScottishLimitedPartnership - - UK.OBIE.Sole + - UK.OBIE.CIC + - UK.OBIE.CIO + - UK.OBIE.Charity + - UK.OBIE.CoOp + - UK.OBIE.GeneralPartnership + - UK.OBIE.Individual + - UK.OBIE.LimitedLiabilityPartnership + - UK.OBIE.LimitedPartnership + - UK.OBIE.PrivateLimitedCompany + - UK.OBIE.PublicLimitedCompany + - UK.OBIE.ScottishLimitedPartnership + - UK.OBIE.Sole OBExternalPartyType1Code: - description: 'Party type, in a coded form.' type: string + description: Party type, in a coded form. enum: - - Delegate - - Joint - - Sole + - Delegate + - Joint + - Sole OBExternalScheduleType1Code: - description: Specifies the scheduled payment date type requested type: string + description: Specifies the scheduled payment date type requested enum: - - Arrival - - Execution + - Arrival + - Execution OBExternalStandingOrderStatus1Code: - description: Specifies the status of the standing order in code form. type: string + description: Specifies the status of the standing order in code form. enum: - - Active - - Inactive + - Active + - Inactive OBExternalStatementAmountType1Code: - description: 'Amount type, in a coded form.' type: string + description: Amount type, in a coded form. x-namespaced-enum: - - UK.OBIE.ArrearsClosingBalance - - UK.OBIE.AvailableBalance - - UK.OBIE.AverageBalanceWhenInCredit - - UK.OBIE.AverageBalanceWhenInDebit - - UK.OBIE.AverageDailyBalance - - UK.OBIE.BalanceTransferClosingBalance - - UK.OBIE.CashClosingBalance - - UK.OBIE.ClosingBalance - - UK.OBIE.CreditLimit - - UK.OBIE.CurrentPayment - - UK.OBIE.DirectDebitPaymentDue - - UK.OBIE.FSCSInsurance - - UK.OBIE.MinimumPaymentDue - - UK.OBIE.PendingTransactionsBalance - - UK.OBIE.PreviousClosingBalance - - UK.OBIE.PreviousPayment - - UK.OBIE.PurchaseClosingBalance - - UK.OBIE.StartingBalance - - UK.OBIE.TotalAdjustments - - UK.OBIE.TotalCashAdvances - - UK.OBIE.TotalCharges - - UK.OBIE.TotalCredits - - UK.OBIE.TotalDebits - - UK.OBIE.TotalPurchases + - UK.OBIE.ArrearsClosingBalance + - UK.OBIE.AvailableBalance + - UK.OBIE.AverageBalanceWhenInCredit + - UK.OBIE.AverageBalanceWhenInDebit + - UK.OBIE.AverageDailyBalance + - UK.OBIE.BalanceTransferClosingBalance + - UK.OBIE.CashClosingBalance + - UK.OBIE.ClosingBalance + - UK.OBIE.CreditLimit + - UK.OBIE.CurrentPayment + - UK.OBIE.DirectDebitPaymentDue + - UK.OBIE.FSCSInsurance + - UK.OBIE.MinimumPaymentDue + - UK.OBIE.PendingTransactionsBalance + - UK.OBIE.PreviousClosingBalance + - UK.OBIE.PreviousPayment + - UK.OBIE.PurchaseClosingBalance + - UK.OBIE.StartingBalance + - UK.OBIE.TotalAdjustments + - UK.OBIE.TotalCashAdvances + - UK.OBIE.TotalCharges + - UK.OBIE.TotalCredits + - UK.OBIE.TotalDebits + - UK.OBIE.TotalPurchases OBExternalStatementBenefitType1Code: - description: 'Benefit type, in a coded form.' type: string + description: Benefit type, in a coded form. x-namespaced-enum: - - UK.OBIE.Cashback - - UK.OBIE.Insurance - - UK.OBIE.TravelDiscount - - UK.OBIE.TravelInsurance + - UK.OBIE.Cashback + - UK.OBIE.Insurance + - UK.OBIE.TravelDiscount + - UK.OBIE.TravelInsurance OBExternalStatementDateTimeType1Code: - description: 'Date time type, in a coded form.' type: string + description: Date time type, in a coded form. x-namespaced-enum: - - UK.OBIE.BalanceTransferPromoEnd - - UK.OBIE.DirectDebitDue - - UK.OBIE.LastPayment - - UK.OBIE.LastStatement - - UK.OBIE.NextStatement - - UK.OBIE.PaymentDue - - UK.OBIE.PurchasePromoEnd - - UK.OBIE.StatementAvailable + - UK.OBIE.BalanceTransferPromoEnd + - UK.OBIE.DirectDebitDue + - UK.OBIE.LastPayment + - UK.OBIE.LastStatement + - UK.OBIE.NextStatement + - UK.OBIE.PaymentDue + - UK.OBIE.PurchasePromoEnd + - UK.OBIE.StatementAvailable OBExternalStatementFeeFrequency1Code: - description: How frequently the fee is applied to the Account. type: string + description: How frequently the fee is applied to the Account. x-namespaced-enum: - - UK.OBIE.ChargingPeriod - - UK.OBIE.PerTransactionAmount - - UK.OBIE.PerTransactionPercentage - - UK.OBIE.Quarterly - - UK.OBIE.StatementMonthly - - UK.OBIE.Weekly + - UK.OBIE.ChargingPeriod + - UK.OBIE.PerTransactionAmount + - UK.OBIE.PerTransactionPercentage + - UK.OBIE.Quarterly + - UK.OBIE.StatementMonthly + - UK.OBIE.Weekly OBExternalStatementFeeRateType1Code: - description: Description that may be available for the statement fee rate type. type: string + description: Description that may be available for the statement fee rate type. x-namespaced-enum: - - UK.OBIE.AER - - UK.OBIE.EAR + - UK.OBIE.AER + - UK.OBIE.EAR OBExternalStatementFeeType1Code: - description: 'Fee type, in a coded form.' type: string + description: Fee type, in a coded form. x-namespaced-enum: - - UK.OBIE.Annual - - UK.OBIE.BalanceTransfer - - UK.OBIE.CashAdvance - - UK.OBIE.CashTransaction - - UK.OBIE.ForeignCashTransaction - - UK.OBIE.ForeignTransaction - - UK.OBIE.Gambling - - UK.OBIE.LatePayment - - UK.OBIE.MoneyTransfer - - UK.OBIE.Monthly - - UK.OBIE.Overlimit - - UK.OBIE.PostalOrder - - UK.OBIE.PrizeEntry - - UK.OBIE.StatementCopy - - UK.OBIE.Total + - UK.OBIE.Annual + - UK.OBIE.BalanceTransfer + - UK.OBIE.CashAdvance + - UK.OBIE.CashTransaction + - UK.OBIE.ForeignCashTransaction + - UK.OBIE.ForeignTransaction + - UK.OBIE.Gambling + - UK.OBIE.LatePayment + - UK.OBIE.MoneyTransfer + - UK.OBIE.Monthly + - UK.OBIE.Overlimit + - UK.OBIE.PostalOrder + - UK.OBIE.PrizeEntry + - UK.OBIE.StatementCopy + - UK.OBIE.Total OBExternalStatementInterestFrequency1Code: - description: Specifies the statement fee type requested type: string + description: Specifies the statement fee type requested x-namespaced-enum: - - UK.OBIE.Daily - - UK.OBIE.HalfYearly - - UK.OBIE.Monthly - - UK.OBIE.PerStatementDate - - UK.OBIE.Quarterly - - UK.OBIE.Weekly - - UK.OBIE.Yearly + - UK.OBIE.Daily + - UK.OBIE.HalfYearly + - UK.OBIE.Monthly + - UK.OBIE.PerStatementDate + - UK.OBIE.Quarterly + - UK.OBIE.Weekly + - UK.OBIE.Yearly OBExternalStatementInterestRateType1Code: - description: Description that may be available for the statement Interest rate type. type: string + description: Description that may be available for the statement Interest rate + type. x-namespaced-enum: - - UK.OBIE.BOEBaseRate - - UK.OBIE.FixedRate - - UK.OBIE.Gross - - UK.OBIE.LoanProviderBaseRate - - UK.OBIE.Net + - UK.OBIE.BOEBaseRate + - UK.OBIE.FixedRate + - UK.OBIE.Gross + - UK.OBIE.LoanProviderBaseRate + - UK.OBIE.Net OBExternalStatementInterestType1Code: - description: 'Interest amount type, in a coded form.' type: string + description: Interest amount type, in a coded form. x-namespaced-enum: - - UK.OBIE.BalanceTransfer - - UK.OBIE.Cash - - UK.OBIE.EstimatedNext - - UK.OBIE.Purchase - - UK.OBIE.Total + - UK.OBIE.BalanceTransfer + - UK.OBIE.Cash + - UK.OBIE.EstimatedNext + - UK.OBIE.Purchase + - UK.OBIE.Total OBExternalStatementRateType1Code: - description: 'Statement rate type, in a coded form.' type: string + description: Statement rate type, in a coded form. x-namespaced-enum: - - UK.OBIE.AnnualBalanceTransfer - - UK.OBIE.AnnualBalanceTransferAfterPromo - - UK.OBIE.AnnualBalanceTransferPromo - - UK.OBIE.AnnualCash - - UK.OBIE.AnnualPurchase - - UK.OBIE.AnnualPurchaseAfterPromo - - UK.OBIE.AnnualPurchasePromo - - UK.OBIE.MonthlyBalanceTransfer - - UK.OBIE.MonthlyCash - - UK.OBIE.MonthlyPurchase + - UK.OBIE.AnnualBalanceTransfer + - UK.OBIE.AnnualBalanceTransferAfterPromo + - UK.OBIE.AnnualBalanceTransferPromo + - UK.OBIE.AnnualCash + - UK.OBIE.AnnualPurchase + - UK.OBIE.AnnualPurchaseAfterPromo + - UK.OBIE.AnnualPurchasePromo + - UK.OBIE.MonthlyBalanceTransfer + - UK.OBIE.MonthlyCash + - UK.OBIE.MonthlyPurchase OBExternalStatementType1Code: - description: 'Statement type, in a coded form.' type: string + description: Statement type, in a coded form. enum: - - AccountClosure - - AccountOpening - - Annual - - Interim - - RegularPeriodic + - AccountClosure + - AccountOpening + - Annual + - Interim + - RegularPeriodic OBExternalStatementValueType1Code: - description: 'Statement value type, in a coded form.' type: string + description: Statement value type, in a coded form. x-namespaced-enum: - - UK.OBIE.AirMilesPoints - - UK.OBIE.AirMilesPointsBalance - - UK.OBIE.Credits - - UK.OBIE.Debits - - UK.OBIE.HotelPoints - - UK.OBIE.HotelPointsBalance - - UK.OBIE.RetailShoppingPoints - - UK.OBIE.RetailShoppingPointsBalance + - UK.OBIE.AirMilesPoints + - UK.OBIE.AirMilesPointsBalance + - UK.OBIE.Credits + - UK.OBIE.Debits + - UK.OBIE.HotelPoints + - UK.OBIE.HotelPointsBalance + - UK.OBIE.RetailShoppingPoints + - UK.OBIE.RetailShoppingPointsBalance OBMerchantDetails1: type: object - description: Details of the merchant involved in the transaction. properties: MerchantName: - description: Name by which the merchant is known. - type: string - minLength: 1 maxLength: 350 - MerchantCategoryCode: - description: >- - Category code conform to ISO 18245, related to the type of services - or goods the merchant provides for the transaction. + minLength: 1 type: string - minLength: 3 + description: Name by which the merchant is known. + MerchantCategoryCode: maxLength: 4 + minLength: 3 + type: string + description: Category code conform to ISO 18245, related to the type of + services or goods the merchant provides for the transaction. + description: Details of the merchant involved in the transaction. OBPCAData1: - type: object title: PCA + type: object properties: ProductDetails: - type: object title: ProductDetails + type: object properties: Segment: - description: >- - Market segmentation is a marketing term referring to the - aggregating of prospective buyers into groups, or segments, that - have common needs and respond similarly to a marketing action. - Market segmentation enables companies to target different - categories of consumers who perceive the full value of certain - products and services differently from one another. - - - Read more: Market Segmentation - http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd - - With respect to PCA products, they are segmented in relation to - different markets that they wish to focus on. title: Segment type: array + description: "Market segmentation is a marketing term referring to the\ + \ aggregating of prospective buyers into groups, or segments, that\ + \ have common needs and respond similarly to a marketing action. Market\ + \ segmentation enables companies to target different categories of\ + \ consumers who perceive the full value of certain products and services\ + \ differently from one another.\n\nRead more: Market Segmentation\ + \ http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd\ + \ \nWith respect to PCA products, they are segmented in relation to\ + \ different markets that they wish to focus on. " items: - description: >- - Market segmentation is a marketing term referring to the - aggregating of prospective buyers into groups, or segments, - that have common needs and respond similarly to a marketing - action. Market segmentation enables companies to target - different categories of consumers who perceive the full value - of certain products and services differently from one another. - - - Read more: Market Segmentation - http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd - - With respect to PCA products, they are segmented in relation - to different markets that they wish to focus on. type: string + description: "Market segmentation is a marketing term referring to\ + \ the aggregating of prospective buyers into groups, or segments,\ + \ that have common needs and respond similarly to a marketing action.\ + \ Market segmentation enables companies to target different categories\ + \ of consumers who perceive the full value of certain products and\ + \ services differently from one another.\n\nRead more: Market Segmentation\ + \ http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd\ + \ \nWith respect to PCA products, they are segmented in relation\ + \ to different markets that they wish to focus on. " enum: - - Basic - - BenefitAndReward - - CreditInterest - - Cashback - - General - - Graduate - - Other - - Overdraft - - Packaged - - Premium - - Reward - - Student - - YoungAdult - - Youth + - Basic + - BenefitAndReward + - CreditInterest + - Cashback + - General + - Graduate + - Other + - Overdraft + - Packaged + - Premium + - Reward + - Student + - YoungAdult + - Youth MonthlyMaximumCharge: - description: >- - The maximum relevant charges that could accrue as defined fully - in Part 7 of the CMA order title: MonthlyMaximumCharge + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: The maximum relevant charges that could accrue as defined + fully in Part 7 of the CMA order Notes: - description: Optional additional notes to supplement the Core product details title: Notes type: array + description: Optional additional notes to supplement the Core product + details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 - additionalProperties: false + minLength: 1 + type: string + description: maxLength 2000 text CreditInterest: - description: >- - Details about the interest that may be payable to the PCA account - holders - type: object title: CreditInterest + required: + - TierBandSet + type: object properties: TierBandSet: - description: >- - The group of tiers or bands for which credit interest can be - applied. - type: array title: TierBandSet + minItems: 1 + type: array + description: The group of tiers or bands for which credit interest can + be applied. items: - description: >- - The group of tiers or bands for which credit interest can be - applied. + required: + - TierBand + - TierBandMethod type: object properties: TierBandMethod: - description: >- - The methodology of how credit interest is charged. It can - be:- - + title: TierBandMethod + type: string + description: |- + The methodology of how credit interest is charged. It can be:- 1. Banded - - Interest rates are banded. i.e. Increasing rate on whole - balance as balance increases. - + Interest rates are banded. i.e. Increasing rate on whole balance as balance increases. 2. Tiered - - Interest rates are tiered. i.e. increasing rate for each - tier as balance increases, but interest paid on tier fixed - for that tier and not on whole balance. - + Interest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance. 3. Whole - - The same interest rate is applied irrespective of the PCA - balance - title: TierBandMethod - type: string + The same interest rate is applied irrespective of the PCA balance enum: - - Tiered - - Whole + - Tiered + - Whole CalculationMethod: - description: Methods of calculating interest title: CalculationMethod type: string + description: Methods of calculating interest enum: - - Compound - - SimpleInterest + - Compound + - SimpleInterest Destination: - description: >- - Describes whether accrued interest is payable only to the - PCA or to another bank account title: Destination type: string + description: Describes whether accrued interest is payable only + to the PCA or to another bank account enum: - - PayAway - - SelfCredit + - PayAway + - SelfCredit Notes: - description: >- - Optional additional notes to supplement the Tier Band Set - details title: Notes type: array + description: Optional additional notes to supplement the Tier + Band Set details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text TierBand: - description: Tier Band Details - type: array title: TierBand + minItems: 1 + type: array + description: Tier Band Details items: - description: Tier Band Details + required: + - AER + - ApplicationFrequency + - FixedVariableInterestRateType + - TierValueMinimum type: object properties: Identification: - description: >- - Unique and unambiguous identification of a Tier - Band for a PCA. - title: Identification - type: string - minLength: 1 + title: Identification maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of a Tier + Band for a PCA. TierValueMinimum: - description: >- - Minimum deposit value for which the credit interest - tier applies. title: TierValueMinimum + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Minimum deposit value for which the credit + interest tier applies. TierValueMaximum: - description: >- - Maximum deposit value for which the credit interest - tier applies. title: TierValueMaximum + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Maximum deposit value for which the credit + interest tier applies. CalculationFrequency: - description: >- - How often is credit interest calculated for the - account. title: CalculationFrequency type: string + description: How often is credit interest calculated for + the account. enum: - - PerAcademicTerm - - Daily - - HalfYearly - - Monthly - - Other - - Quarterly - - PerStatementDate - - Weekly - - Yearly + - PerAcademicTerm + - Daily + - HalfYearly + - Monthly + - Other + - Quarterly + - PerStatementDate + - Weekly + - Yearly ApplicationFrequency: - description: >- - How often is interest applied to the PCA for this - tier/band i.e. how often the financial institution - pays accumulated interest to the customer's PCA. title: ApplicationFrequency type: string + description: How often is interest applied to the PCA for + this tier/band i.e. how often the financial institution + pays accumulated interest to the customer's PCA. enum: - - PerAcademicTerm - - Daily - - HalfYearly - - Monthly - - Other - - Quarterly - - PerStatementDate - - Weekly - - Yearly + - PerAcademicTerm + - Daily + - HalfYearly + - Monthly + - Other + - Quarterly + - PerStatementDate + - Weekly + - Yearly DepositInterestAppliedCoverage: - description: Amount on which Interest applied. title: DepositInterestAppliedCoverage type: string + description: Amount on which Interest applied. enum: - - Tiered - - Whole + - Tiered + - Whole FixedVariableInterestRateType: - description: 'Type of interest rate, Fixed or Variable' title: FixedVariableInterestRateType type: string + description: Type of interest rate, Fixed or Variable enum: - - Fixed - - Variable + - Fixed + - Variable AER: - description: >- - The annual equivalent rate (AER) is interest that is - calculated under the assumption that any interest - paid is combined with the original balance and the - next interest payment will be based on the slightly - higher account balance. Overall, this means that - interest can be compounded several times in a year - depending on the number of times that interest - payments are made. - - - Read more: Annual Equivalent Rate (AER) - http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A title: AER + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: "The annual equivalent rate (AER) is interest\ + \ that is calculated under the assumption that any interest\ + \ paid is combined with the original balance and the next\ + \ interest payment will be based on the slightly higher\ + \ account balance. Overall, this means that interest can\ + \ be compounded several times in a year depending on the\ + \ number of times that interest payments are made. \n\n\ + Read more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" BankInterestRateType: - description: >- - Interest rate types, other than AER, which financial - institutions may use to describe the annual interest - rate payable to the PCA. title: BankInterestRateType type: string + description: Interest rate types, other than AER, which + financial institutions may use to describe the annual + interest rate payable to the PCA. enum: - - LinkedBaseRate - - Gross - - Net - - Other + - LinkedBaseRate + - Gross + - Net + - Other BankInterestRate: - description: Bank Interest for the PCA product title: BankInterestRate + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: Bank Interest for the PCA product Notes: - description: >- - Optional additional notes to supplement the Tier - Band details title: Notes type: array + description: Optional additional notes to supplement the + Tier Band details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherBankInterestType: - description: >- - Other interest rate types which are not available in - the standard code list - type: object title: OtherBankInterestType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file - to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an + XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description - OtherApplicationFrequency: - description: >- - Other application frequencies that are not available + minLength: 1 + type: string + description: Description to describe the purpose of + the code + description: Other interest rate types which are not available in the standard code list - type: object + OtherApplicationFrequency: title: OtherApplicationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file - to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an + XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of + the code + description: Other application frequencies that are not + available in the standard code list OtherCalculationFrequency: - description: >- - Other calculation frequency which is not available - in the standard code set. - type: object title: OtherCalculationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file - to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an + XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description - required: - - TierValueMinimum - - ApplicationFrequency - - FixedVariableInterestRateType - - AER - minItems: 1 - required: - - TierBandMethod - - TierBand - minItems: 1 - additionalProperties: false - required: - - TierBandSet + minLength: 1 + type: string + description: Description to describe the purpose of + the code + description: Other calculation frequency which is not available + in the standard code set. + description: Tier Band Details + description: The group of tiers or bands for which credit interest + can be applied. + description: Details about the interest that may be payable to the PCA account + holders Overdraft: - description: 'Details about Overdraft rates, fees & charges' - type: object title: Overdraft + required: + - OverdraftTierBandSet + type: object properties: Notes: - description: Associated Notes about the overdraft rates title: Notes type: array + description: Associated Notes about the overdraft rates items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OverdraftTierBandSet: - description: Tier band set details - type: array title: OverdraftTierBandSet + minItems: 1 + type: array + description: Tier band set details items: - description: Tier band set details + required: + - OverdraftTierBand + - TierBandMethod type: object properties: TierBandMethod: - description: >- - The methodology of how overdraft is charged. It can be: - - 'Whole' Where the same charge/rate is applied to the - entirety of the overdraft balance (where charges are - applicable). - - 'Tiered' Where different charges/rates are applied - dependent on overdraft maximum and minimum balance amount - tiers defined by the lending financial organisation - - 'Banded' Where different charges/rates are applied - dependent on overdraft maximum and minimum balance amount - bands defined by a government organisation. title: TierBandMethod type: string + description: "The methodology of how overdraft is charged. It\ + \ can be:\n'Whole' Where the same charge/rate is applied to\ + \ the entirety of the overdraft balance (where charges are applicable).\ + \ \n'Tiered' Where different charges/rates are applied dependent\ + \ on overdraft maximum and minimum balance amount tiers defined\ + \ by the lending financial organisation\n'Banded' Where different\ + \ charges/rates are applied dependent on overdraft maximum and\ + \ minimum balance amount bands defined by a government organisation." enum: - - Tiered - - Whole - - Banded + - Tiered + - Whole + - Banded OverdraftType: - description: >- - An overdraft can either be 'committed' which means that - the facility cannot be withdrawn without reasonable - notification before it's agreed end date, or 'on demand' - which means that the financial institution can demand - repayment at any point in time. title: OverdraftType type: string + description: An overdraft can either be 'committed' which means + that the facility cannot be withdrawn without reasonable notification + before it's agreed end date, or 'on demand' which means that + the financial institution can demand repayment at any point + in time. enum: - - Committed - - OnDemand - - Other + - Committed + - OnDemand + - Other Identification: - description: >- - Unique and unambiguous identification of a Tier Band for - a overdraft product. title: Identification - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of a Tier + Band for a overdraft product. AuthorisedIndicator: - description: >- - Indicates if the Overdraft is authorised (Y) or - unauthorised (N) title: AuthorisedIndicator type: boolean + description: Indicates if the Overdraft is authorised (Y) or unauthorised + (N) BufferAmount: - description: >- - When a customer exceeds their credit limit, a financial - institution will not charge the customer unauthorised - overdraft charges if they do not exceed by more than the - buffer amount. Note: Authorised overdraft charges may - still apply. title: BufferAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: 'When a customer exceeds their credit limit, a financial + institution will not charge the customer unauthorised overdraft + charges if they do not exceed by more than the buffer amount. + Note: Authorised overdraft charges may still apply.' Notes: - description: >- - Optional additional notes to supplement the overdraft Tier - Band Set details title: Notes type: array + description: Optional additional notes to supplement the overdraft + Tier Band Set details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OverdraftTierBand: - description: Provides overdraft details for a specific tier or band - type: array title: OverdraftTierBand + minItems: 1 + type: array + description: Provides overdraft details for a specific tier or + band items: - description: Provides overdraft details for a specific tier or band + required: + - TierValueMin type: object properties: Identification: - description: >- - Unique and unambiguous identification of a Tier - Band for a overdraft. title: Identification - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of a Tier + Band for a overdraft. TierValueMin: - description: Minimum value of Overdraft Tier/Band title: TierValueMin + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Minimum value of Overdraft Tier/Band TierValueMax: - description: Maximum value of Overdraft Tier/Band title: TierValueMax + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Maximum value of Overdraft Tier/Band OverdraftInterestChargingCoverage: - description: Interest charged on whole amount or tiered/banded title: OverdraftInterestChargingCoverage type: string + description: Interest charged on whole amount or tiered/banded enum: - - Tiered - - Whole + - Tiered + - Whole BankGuaranteedIndicator: - description: >- - Indicates that a bank provides the overdraft limit - up to TierValueMIn to all customers automatically title: BankGuaranteedIndicator type: boolean + description: Indicates that a bank provides the overdraft + limit up to TierValueMIn to all customers automatically EAR: - description: >- - EAR means Effective Annual Rate and/or Equivalent - Annual Rate (frequently - - used interchangeably), being the actual annual - interest rate of an Overdraft. title: EAR + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: |- + EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently + used interchangeably), being the actual annual interest rate of an Overdraft. RepresentativeAPR: - description: >- - An annual percentage rate (APR) is the annual rate - charged for borrowing or earned through an - investment. APR is expressed as a percentage that - represents the actual yearly cost of funds over the - term of a loan. This includes any fees or additional - costs associated with the transaction but does not - take compounding into account. title: RepresentativeAPR + pattern: ^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$' + description: An annual percentage rate (APR) is the annual + rate charged for borrowing or earned through an investment. + APR is expressed as a percentage that represents the actual + yearly cost of funds over the term of a loan. This includes + any fees or additional costs associated with the transaction + but does not take compounding into account. Notes: - description: >- - Optional additional notes to supplement the - Tier/band details title: Notes type: array + description: Optional additional notes to supplement the + Tier/band details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OverdraftFeesCharges: - description: Overdraft fees and charges - type: array title: OverdraftFeesCharges + type: array + description: Overdraft fees and charges items: - description: Overdraft fees and charges + required: + - OverdraftFeeChargeDetail type: object properties: OverdraftFeeChargeCap: - description: >- - Details about any caps (maximum charges) that - apply to a particular fee/charge - type: array title: OverdraftFeeChargeCap + type: array + description: Details about any caps (maximum charges) + that apply to a particular fee/charge items: - description: >- - Details about any caps (maximum charges) - that apply to a particular fee/charge + required: + - FeeType + - MinMaxType type: object properties: FeeType: - description: Fee/charge type which is being capped title: FeeType + minItems: 1 type: array + description: Fee/charge type which is being + capped items: - description: Overdraft fee type type: string + description: Overdraft fee type enum: - - ArrangedOverdraft - - EmergencyBorrowing - - BorrowingItem - - OverdraftRenewal - - AnnualReview - - OverdraftSetup - - Surcharge - - TempOverdraft - - UnauthorisedBorrowing - - UnauthorisedPaidTrans - - Other - - UnauthorisedUnpaidTrans - minItems: 1 + - ArrangedOverdraft + - EmergencyBorrowing + - BorrowingItem + - OverdraftRenewal + - AnnualReview + - OverdraftSetup + - Surcharge + - TempOverdraft + - UnauthorisedBorrowing + - UnauthorisedPaidTrans + - Other + - UnauthorisedUnpaidTrans OverdraftControlIndicator: - description: >- - Specifies for the overdraft control - feature/benefit title: OverdraftControlIndicator type: boolean + description: Specifies for the overdraft control + feature/benefit MinMaxType: - description: >- - Indicates that this is the minimum/ - maximum fee/charge that can be applied - by the financial institution title: MinMaxType type: string + description: Indicates that this is the minimum/ + maximum fee/charge that can be applied by + the financial institution enum: - - Minimum - - Maximum + - Minimum + - Maximum FeeCapOccurrence: - description: >- - fee/charges are captured dependent on - the number of occurrences rather than - capped at a particular amount title: FeeCapOccurrence type: number + description: fee/charges are captured dependent + on the number of occurrences rather than capped + at a particular amount format: float FeeCapAmount: - description: Cap amount charged for a fee/charge title: FeeCapAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge CappingPeriod: - description: >- - Period e.g. day, week, month etc. for - which the fee/charge is capped title: CappingPeriod type: string + description: Period e.g. day, week, month etc. + for which the fee/charge is capped enum: - - AcademicTerm - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - AcademicTerm + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: >- - Notes related to Overdraft fee charge - cap title: Notes type: array + description: Notes related to Overdraft fee + charge cap items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other fee type code which is not - available in the standard code set - type: array title: OtherFeeType + type: array + description: Other fee type code which is not + available in the standard code set items: - description: >- - Other fee type code which is not - available in the standard code set + required: + - Description + - Name type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic + used within an XML file to identify + a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 - Description: - description: >- - Description to describe the purpose of + minLength: 1 + type: string + description: Long name associated with the code + Description: title: Description - type: string - minLength: 1 maxLength: 350 - required: - - Name - - Description - required: - - FeeType - - MinMaxType + minLength: 1 + type: string + description: Description to describe the + purpose of the code + description: Other fee type code which is + not available in the standard code set + description: Details about any caps (maximum charges) + that apply to a particular fee/charge OverdraftFeeChargeDetail: - description: Details about the fees/charges - type: array title: OverdraftFeeChargeDetail + minItems: 1 + type: array + description: Details about the fees/charges items: - description: Details about the fees/charges - type: object - properties: - FeeType: - description: Overdraft fee type - title: FeeType - type: string - enum: - - ArrangedOverdraft - - EmergencyBorrowing - - BorrowingItem - - OverdraftRenewal - - AnnualReview - - OverdraftSetup - - Surcharge - - TempOverdraft - - UnauthorisedBorrowing - - UnauthorisedPaidTrans - - Other - - UnauthorisedUnpaidTrans + required: + - ApplicationFrequency + - FeeType + type: object + properties: + FeeType: + title: FeeType + type: string + description: Overdraft fee type + enum: + - ArrangedOverdraft + - EmergencyBorrowing + - BorrowingItem + - OverdraftRenewal + - AnnualReview + - OverdraftSetup + - Surcharge + - TempOverdraft + - UnauthorisedBorrowing + - UnauthorisedPaidTrans + - Other + - UnauthorisedUnpaidTrans OverdraftControlIndicator: - description: >- - Specifies for the overdraft control - feature/benefit title: OverdraftControlIndicator type: boolean + description: Specifies for the overdraft control + feature/benefit IncrementalBorrowingAmount: - description: >- - Every additional tranche of an overdraft - balance to which an overdraft fee is - applied title: IncrementalBorrowingAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Every additional tranche of an + overdraft balance to which an overdraft fee + is applied FeeAmount: - description: >- - Amount charged for an overdraft - fee/charge (where it is charged in terms - of an amount rather than a rate) title: FeeAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Amount charged for an overdraft + fee/charge (where it is charged in terms of + an amount rather than a rate) FeeRate: - description: >- - Rate charged for overdraft fee/charge - (where it is charged in terms of a rate - rather than an amount) title: FeeRate + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: Rate charged for overdraft fee/charge + (where it is charged in terms of a rate rather + than an amount) FeeRateType: - description: >- - Rate type for overdraft fee/charge - (where it is charged in terms of a rate - rather than an amount) title: FeeRateType type: string + description: Rate type for overdraft fee/charge + (where it is charged in terms of a rate rather + than an amount) enum: - - LinkedBaseRate - - Gross - - Net - - Other + - LinkedBaseRate + - Gross + - Net + - Other ApplicationFrequency: - description: >- - Frequency at which the overdraft charge - is applied to the account title: ApplicationFrequency type: string + description: Frequency at which the overdraft + charge is applied to the account enum: - - AccountClosing - - AccountOpening - - AcademicTerm - - ChargingPeriod - - Daily - - PerItem - - Monthly - - OnAccountAnniversary - - Other - - PerHour - - PerOccurrence - - PerSheet - - PerTransaction - - PerTransactionAmount - - PerTransactionPercentage - - Quarterly - - SixMonthly - - StatementMonthly - - Weekly - - Yearly + - AccountClosing + - AccountOpening + - AcademicTerm + - ChargingPeriod + - Daily + - PerItem + - Monthly + - OnAccountAnniversary + - Other + - PerHour + - PerOccurrence + - PerSheet + - PerTransaction + - PerTransactionAmount + - PerTransactionPercentage + - Quarterly + - SixMonthly + - StatementMonthly + - Weekly + - Yearly CalculationFrequency: - description: >- - How often is the overdraft fee/charge - calculated for the account. title: CalculationFrequency type: string + description: How often is the overdraft fee/charge + calculated for the account. enum: - - AccountClosing - - AccountOpening - - AcademicTerm - - ChargingPeriod - - Daily - - PerItem - - Monthly - - OnAccountAnniversary - - Other - - PerHour - - PerOccurrence - - PerSheet - - PerTransaction - - PerTransactionAmount - - PerTransactionPercentage - - Quarterly - - SixMonthly - - StatementMonthly - - Weekly - - Yearly + - AccountClosing + - AccountOpening + - AcademicTerm + - ChargingPeriod + - Daily + - PerItem + - Monthly + - OnAccountAnniversary + - Other + - PerHour + - PerOccurrence + - PerSheet + - PerTransaction + - PerTransactionAmount + - PerTransactionPercentage + - Quarterly + - SixMonthly + - StatementMonthly + - Weekly + - Yearly Notes: - description: >- - Free text for capturing any other info - related to Overdraft Fees Charge Details title: Notes type: array + description: Free text for capturing any other + info related to Overdraft Fees Charge Details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other Fee type which is not available in - the standard code set - type: object title: OtherFeeType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used + within an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the + code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the + purpose of the code + description: Other Fee type which is not available + in the standard code set OtherFeeRateType: - description: >- - Other fee rate type code which is not - available in the standard code set - type: object title: OtherFeeRateType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used + within an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the + code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the + purpose of the code + description: Other fee rate type code which + is not available in the standard code set OtherApplicationFrequency: - description: >- - Other application frequencies that are - not available in the standard code list - type: object title: OtherApplicationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used + within an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the + code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the + purpose of the code + description: Other application frequencies that + are not available in the standard code list OtherCalculationFrequency: - description: >- - Other calculation frequency which is not - available in the standard code set. - type: object title: OtherCalculationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used + within an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the + code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the + purpose of the code + description: Other calculation frequency which + is not available in the standard code set. OverdraftFeeChargeCap: - description: >- - Details about any caps (maximum charges) - that apply to a particular fee/charge - type: object title: OverdraftFeeChargeCap + required: + - FeeType + - MinMaxType + type: object properties: FeeType: - description: Fee/charge type which is being capped title: FeeType + minItems: 1 type: array + description: Fee/charge type which is being + capped items: - description: Overdraft fee type type: string + description: Overdraft fee type enum: - - ArrangedOverdraft - - EmergencyBorrowing - - BorrowingItem - - OverdraftRenewal - - AnnualReview - - OverdraftSetup - - Surcharge - - TempOverdraft - - UnauthorisedBorrowing - - UnauthorisedPaidTrans - - Other - - UnauthorisedUnpaidTrans - minItems: 1 + - ArrangedOverdraft + - EmergencyBorrowing + - BorrowingItem + - OverdraftRenewal + - AnnualReview + - OverdraftSetup + - Surcharge + - TempOverdraft + - UnauthorisedBorrowing + - UnauthorisedPaidTrans + - Other + - UnauthorisedUnpaidTrans OverdraftControlIndicator: - description: >- - Specifies for the overdraft control - feature/benefit title: OverdraftControlIndicator type: boolean + description: Specifies for the overdraft + control feature/benefit MinMaxType: - description: >- - Indicates that this is the minimum/ - maximum fee/charge that can be applied - by the financial institution title: MinMaxType type: string + description: Indicates that this is the + minimum/ maximum fee/charge that can be + applied by the financial institution enum: - - Minimum - - Maximum + - Minimum + - Maximum FeeCapOccurrence: - description: >- - fee/charges are captured dependent on - the number of occurrences rather than - capped at a particular amount title: FeeCapOccurrence type: number + description: fee/charges are captured dependent + on the number of occurrences rather than + capped at a particular amount format: float FeeCapAmount: - description: Cap amount charged for a fee/charge title: FeeCapAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge CappingPeriod: - description: >- - Period e.g. day, week, month etc. for - which the fee/charge is capped title: CappingPeriod type: string + description: Period e.g. day, week, month + etc. for which the fee/charge is capped enum: - - AcademicTerm - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - AcademicTerm + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: >- - Notes related to Overdraft fee charge - cap title: Notes type: array + description: Notes related to Overdraft + fee charge cap items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other fee type code which is not - available in the standard code set - type: array title: OtherFeeType + type: array + description: Other fee type code which is + not available in the standard code set items: - description: >- - Other fee type code which is not - available in the standard code set + required: + - Description + - Name type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic + used within an XML file to identify + a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated + with the code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - required: - - Name - - Description - additionalProperties: false - required: - - FeeType - - MinMaxType - required: - - FeeType - - ApplicationFrequency - minItems: 1 - required: - - OverdraftFeeChargeDetail - required: - - TierValueMin - minItems: 1 + minLength: 1 + type: string + description: Description to describe + the purpose of the code + description: Other fee type code which + is not available in the standard code + set + description: Details about any caps (maximum + charges) that apply to a particular fee/charge + description: Details about the fees/charges + description: Overdraft fees and charges + description: Provides overdraft details for a specific tier + or band OverdraftFeesCharges: - description: Overdraft fees and charges details - type: array title: OverdraftFeesCharges + type: array + description: Overdraft fees and charges details items: - description: Overdraft fees and charges details + required: + - OverdraftFeeChargeDetail type: object properties: OverdraftFeeChargeCap: - description: >- - Details about any caps (maximum charges) that apply - to a particular fee/charge - type: array title: OverdraftFeeChargeCap + type: array + description: Details about any caps (maximum charges) that + apply to a particular fee/charge items: - description: >- - Details about any caps (maximum charges) that - apply to a particular fee/charge + required: + - FeeType + - MinMaxType type: object properties: FeeType: - description: Fee/charge type which is being capped title: FeeType + minItems: 1 type: array + description: Fee/charge type which is being capped items: - description: Overdraft fee type type: string + description: Overdraft fee type enum: - - ArrangedOverdraft - - EmergencyBorrowing - - BorrowingItem - - OverdraftRenewal - - AnnualReview - - OverdraftSetup - - Surcharge - - TempOverdraft - - UnauthorisedBorrowing - - UnauthorisedPaidTrans - - Other - - UnauthorisedUnpaidTrans - minItems: 1 + - ArrangedOverdraft + - EmergencyBorrowing + - BorrowingItem + - OverdraftRenewal + - AnnualReview + - OverdraftSetup + - Surcharge + - TempOverdraft + - UnauthorisedBorrowing + - UnauthorisedPaidTrans + - Other + - UnauthorisedUnpaidTrans OverdraftControlIndicator: - description: >- - Specifies for the overdraft control - feature/benefit title: OverdraftControlIndicator type: boolean + description: Specifies for the overdraft control feature/benefit MinMaxType: - description: >- - Indicates that this is the minimum/ maximum - fee/charge that can be applied by the - financial institution title: MinMaxType type: string + description: Indicates that this is the minimum/ maximum + fee/charge that can be applied by the financial + institution enum: - - Minimum - - Maximum + - Minimum + - Maximum FeeCapOccurrence: - description: >- - fee/charges are captured dependent on the - number of occurrences rather than capped at a - particular amount title: FeeCapOccurrence type: number + description: fee/charges are captured dependent on + the number of occurrences rather than capped at + a particular amount format: float FeeCapAmount: - description: Cap amount charged for a fee/charge title: FeeCapAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge CappingPeriod: - description: >- - Period e.g. day, week, month etc. for which - the fee/charge is capped title: CappingPeriod type: string + description: Period e.g. day, week, month etc. for + which the fee/charge is capped enum: - - AcademicTerm - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - AcademicTerm + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: Notes related to Overdraft fee charge cap title: Notes type: array + description: Notes related to Overdraft fee charge + cap items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other fee type code which is not available in - the standard code set - type: array title: OtherFeeType + type: array + description: Other fee type code which is not available + in the standard code set items: - description: >- - Other fee type code which is not available - in the standard code set + required: + - Description + - Name type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within + an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - required: - - Name - - Description - required: - - FeeType - - MinMaxType + minLength: 1 + type: string + description: Description to describe the purpose + of the code + description: Other fee type code which is not available + in the standard code set + description: Details about any caps (maximum charges) + that apply to a particular fee/charge OverdraftFeeChargeDetail: - description: Details about the fees/charges - type: array title: OverdraftFeeChargeDetail + minItems: 1 + type: array + description: Details about the fees/charges items: - description: Details about the fees/charges + required: + - ApplicationFrequency + - FeeType type: object properties: FeeType: - description: Overdraft fee type title: FeeType type: string + description: Overdraft fee type enum: - - ArrangedOverdraft - - EmergencyBorrowing - - BorrowingItem - - OverdraftRenewal - - AnnualReview - - OverdraftSetup - - Surcharge - - TempOverdraft - - UnauthorisedBorrowing - - UnauthorisedPaidTrans - - Other - - UnauthorisedUnpaidTrans + - ArrangedOverdraft + - EmergencyBorrowing + - BorrowingItem + - OverdraftRenewal + - AnnualReview + - OverdraftSetup + - Surcharge + - TempOverdraft + - UnauthorisedBorrowing + - UnauthorisedPaidTrans + - Other + - UnauthorisedUnpaidTrans OverdraftControlIndicator: - description: >- - Specifies for the overdraft control - feature/benefit title: OverdraftControlIndicator type: boolean + description: Specifies for the overdraft control feature/benefit IncrementalBorrowingAmount: - description: >- - Every additional tranche of an overdraft - balance to which an overdraft fee is applied title: IncrementalBorrowingAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Every additional tranche of an overdraft + balance to which an overdraft fee is applied FeeAmount: - description: >- - Amount charged for an overdraft fee/charge - (where it is charged in terms of an amount - rather than a rate) title: FeeAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Amount charged for an overdraft fee/charge + (where it is charged in terms of an amount rather + than a rate) FeeRate: - description: >- - Rate charged for overdraft fee/charge (where - it is charged in terms of a rate rather than - an amount) title: FeeRate + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: Rate charged for overdraft fee/charge + (where it is charged in terms of a rate rather than + an amount) FeeRateType: - description: >- - Rate type for overdraft fee/charge (where it - is charged in terms of a rate rather than an - amount) title: FeeRateType type: string + description: Rate type for overdraft fee/charge (where + it is charged in terms of a rate rather than an + amount) enum: - - LinkedBaseRate - - Gross - - Net - - Other + - LinkedBaseRate + - Gross + - Net + - Other ApplicationFrequency: - description: >- - Frequency at which the overdraft charge is - applied to the account title: ApplicationFrequency type: string + description: Frequency at which the overdraft charge + is applied to the account enum: - - AccountClosing - - AccountOpening - - AcademicTerm - - ChargingPeriod - - Daily - - PerItem - - Monthly - - OnAccountAnniversary - - Other - - PerHour - - PerOccurrence - - PerSheet - - PerTransaction - - PerTransactionAmount - - PerTransactionPercentage - - Quarterly - - SixMonthly - - StatementMonthly - - Weekly - - Yearly + - AccountClosing + - AccountOpening + - AcademicTerm + - ChargingPeriod + - Daily + - PerItem + - Monthly + - OnAccountAnniversary + - Other + - PerHour + - PerOccurrence + - PerSheet + - PerTransaction + - PerTransactionAmount + - PerTransactionPercentage + - Quarterly + - SixMonthly + - StatementMonthly + - Weekly + - Yearly CalculationFrequency: - description: >- - How often is the overdraft fee/charge - calculated for the account. title: CalculationFrequency type: string + description: How often is the overdraft fee/charge + calculated for the account. enum: - - AccountClosing - - AccountOpening - - AcademicTerm - - ChargingPeriod - - Daily - - PerItem - - Monthly - - OnAccountAnniversary - - Other - - PerHour - - PerOccurrence - - PerSheet - - PerTransaction - - PerTransactionAmount - - PerTransactionPercentage - - Quarterly - - SixMonthly - - StatementMonthly - - Weekly - - Yearly + - AccountClosing + - AccountOpening + - AcademicTerm + - ChargingPeriod + - Daily + - PerItem + - Monthly + - OnAccountAnniversary + - Other + - PerHour + - PerOccurrence + - PerSheet + - PerTransaction + - PerTransactionAmount + - PerTransactionPercentage + - Quarterly + - SixMonthly + - StatementMonthly + - Weekly + - Yearly Notes: - description: >- - Free text for capturing any other info related - to Overdraft Fees Charge Details title: Notes type: array + description: Free text for capturing any other info + related to Overdraft Fees Charge Details items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other Fee type which is not available in the - standard code set - type: object title: OtherFeeType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within + an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: >- - Description to describe the purpose of the - code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose + of the code + description: Other Fee type which is not available + in the standard code set OtherFeeRateType: - description: >- - Other fee rate type code which is not - available in the standard code set - type: object title: OtherFeeRateType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within + an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: >- - Description to describe the purpose of the - code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose + of the code + description: Other fee rate type code which is not + available in the standard code set OtherApplicationFrequency: - description: >- - Other application frequencies that are not - available in the standard code list - type: object title: OtherApplicationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within + an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: >- - Description to describe the purpose of the - code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose + of the code + description: Other application frequencies that are + not available in the standard code list OtherCalculationFrequency: - description: >- - Other calculation frequency which is not - available in the standard code set. - type: object title: OtherCalculationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within + an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: >- - Description to describe the purpose of the - code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose + of the code + description: Other calculation frequency which is + not available in the standard code set. OverdraftFeeChargeCap: - description: >- - Details about any caps (maximum charges) that - apply to a particular fee/charge - type: object title: OverdraftFeeChargeCap + required: + - FeeType + - MinMaxType + type: object properties: FeeType: - description: Fee/charge type which is being capped title: FeeType + minItems: 1 type: array + description: Fee/charge type which is being capped items: - description: Overdraft fee type type: string + description: Overdraft fee type enum: - - ArrangedOverdraft - - EmergencyBorrowing - - BorrowingItem - - OverdraftRenewal - - AnnualReview - - OverdraftSetup - - Surcharge - - TempOverdraft - - UnauthorisedBorrowing - - UnauthorisedPaidTrans - - Other - - UnauthorisedUnpaidTrans - minItems: 1 + - ArrangedOverdraft + - EmergencyBorrowing + - BorrowingItem + - OverdraftRenewal + - AnnualReview + - OverdraftSetup + - Surcharge + - TempOverdraft + - UnauthorisedBorrowing + - UnauthorisedPaidTrans + - Other + - UnauthorisedUnpaidTrans OverdraftControlIndicator: - description: >- - Specifies for the overdraft control - feature/benefit title: OverdraftControlIndicator type: boolean + description: Specifies for the overdraft control + feature/benefit MinMaxType: - description: >- - Indicates that this is the minimum/ - maximum fee/charge that can be applied by - the financial institution title: MinMaxType type: string + description: Indicates that this is the minimum/ + maximum fee/charge that can be applied by the + financial institution enum: - - Minimum - - Maximum + - Minimum + - Maximum FeeCapOccurrence: - description: >- - fee/charges are captured dependent on the - number of occurrences rather than capped - at a particular amount title: FeeCapOccurrence type: number + description: fee/charges are captured dependent + on the number of occurrences rather than capped + at a particular amount format: float FeeCapAmount: - description: Cap amount charged for a fee/charge title: FeeCapAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge CappingPeriod: - description: >- - Period e.g. day, week, month etc. for - which the fee/charge is capped title: CappingPeriod type: string + description: Period e.g. day, week, month etc. + for which the fee/charge is capped enum: - - AcademicTerm - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - AcademicTerm + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: Notes related to Overdraft fee charge cap title: Notes type: array + description: Notes related to Overdraft fee charge + cap items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other fee type code which is not available - in the standard code set - type: array title: OtherFeeType + type: array + description: Other fee type code which is not + available in the standard code set items: - description: >- - Other fee type code which is not - available in the standard code set + required: + - Description + - Name type: object properties: Code: - description: >- - The four letter Mnemonic used within an - XML file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used + within an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the + code Description: - description: >- - Description to describe the purpose of - the code title: Description - type: string - minLength: 1 maxLength: 350 - required: - - Name - - Description - additionalProperties: false - required: - - FeeType - - MinMaxType - required: - - FeeType - - ApplicationFrequency - minItems: 1 - required: - - OverdraftFeeChargeDetail - required: - - TierBandMethod - - OverdraftTierBand - minItems: 1 - additionalProperties: false - required: - - OverdraftTierBandSet + minLength: 1 + type: string + description: Description to describe the + purpose of the code + description: Other fee type code which is not + available in the standard code set + description: Details about any caps (maximum charges) + that apply to a particular fee/charge + description: Details about the fees/charges + description: Overdraft fees and charges details + description: Tier band set details + description: Details about Overdraft rates, fees & charges OtherFeesCharges: - description: >- - Contains details of fees and charges which are not associated with - either borrowing or features/benefits - type: object title: OtherFeesCharges + required: + - FeeChargeDetail + type: object properties: FeeChargeDetail: - description: Other fees/charges details - type: array title: FeeChargeDetail + minItems: 1 + type: array + description: Other fees/charges details items: - description: Other fees/charges details + required: + - ApplicationFrequency + - FeeCategory + - FeeType type: object properties: FeeCategory: - description: >- - Categorisation of fees and charges into standard - categories. title: FeeCategory type: string + description: Categorisation of fees and charges into standard + categories. enum: - - Other - - Servicing + - Other + - Servicing FeeType: - description: Fee/Charge Type title: FeeType type: string + description: Fee/Charge Type enum: - - ServiceCAccountFee - - ServiceCAccountFeeMonthly - - ServiceCOther - - Other + - ServiceCAccountFee + - ServiceCAccountFeeMonthly + - ServiceCOther + - Other FeeAmount: - description: >- - Fee Amount charged for a fee/charge (where it is charged - in terms of an amount rather than a rate) title: FeeAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Fee Amount charged for a fee/charge (where it is + charged in terms of an amount rather than a rate) FeeRate: - description: >- - Rate charged for Fee/Charge (where it is charged in terms - of a rate rather than an amount) title: FeeRate + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: Rate charged for Fee/Charge (where it is charged + in terms of a rate rather than an amount) FeeRateType: - description: >- - Rate type for Fee/Charge (where it is charged in terms of - a rate rather than an amount) title: FeeRateType type: string + description: Rate type for Fee/Charge (where it is charged in + terms of a rate rather than an amount) enum: - - LinkedBaseRate - - Gross - - Net - - Other + - LinkedBaseRate + - Gross + - Net + - Other ApplicationFrequency: - description: How frequently the fee/charge is applied to the account title: ApplicationFrequency type: string + description: How frequently the fee/charge is applied to the account enum: - - AccountClosing - - AccountOpening - - AcademicTerm - - ChargingPeriod - - Daily - - PerItem - - Monthly - - OnAccountAnniversary - - Other - - PerHour - - PerOccurrence - - PerSheet - - PerTransaction - - PerTransactionAmount - - PerTransactionPercentage - - Quarterly - - SixMonthly - - StatementMonthly - - Weekly - - Yearly + - AccountClosing + - AccountOpening + - AcademicTerm + - ChargingPeriod + - Daily + - PerItem + - Monthly + - OnAccountAnniversary + - Other + - PerHour + - PerOccurrence + - PerSheet + - PerTransaction + - PerTransactionAmount + - PerTransactionPercentage + - Quarterly + - SixMonthly + - StatementMonthly + - Weekly + - Yearly CalculationFrequency: - description: How frequently the fee/charge is calculated title: CalculationFrequency type: string + description: How frequently the fee/charge is calculated enum: - - AccountClosing - - AccountOpening - - AcademicTerm - - ChargingPeriod - - Daily - - PerItem - - Monthly - - OnAccountAnniversary - - Other - - PerHour - - PerOccurrence - - PerSheet - - PerTransaction - - PerTransactionAmount - - PerTransactionPercentage - - Quarterly - - SixMonthly - - StatementMonthly - - Weekly - - Yearly + - AccountClosing + - AccountOpening + - AcademicTerm + - ChargingPeriod + - Daily + - PerItem + - Monthly + - OnAccountAnniversary + - Other + - PerHour + - PerOccurrence + - PerSheet + - PerTransaction + - PerTransactionAmount + - PerTransactionPercentage + - Quarterly + - SixMonthly + - StatementMonthly + - Weekly + - Yearly Notes: - description: >- - Optional additional notes to supplement the fee/charge - details. title: Notes type: array + description: Optional additional notes to supplement the fee/charge + details. items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeCategoryType: - type: object title: OtherFeeCategoryType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file to - identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML file + to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of the code OtherFeeType: - description: >- - Other Fee/charge type which is not available in the - standard code set - type: object title: OtherFeeType + required: + - Description + - FeeCategory + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file to - identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML file + to identify a code FeeCategory: - description: >- - Categorisation of fees and charges into standard - categories. title: FeeCategory type: string + description: Categorisation of fees and charges into standard + categories. enum: - - Other - - Servicing + - Other + - Servicing Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - FeeCategory - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of the code + description: Other Fee/charge type which is not available in the + standard code set OtherFeeRateType: - description: >- - Other fee rate type which is not available in the standard - code set - type: object title: OtherFeeRateType + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file to - identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML file + to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of the code + description: Other fee rate type which is not available in the + standard code set OtherApplicationFrequency: - description: >- - Other application frequencies not covered in the standard - code list - type: object title: OtherApplicationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file to - identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML file + to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of the code + description: Other application frequencies not covered in the + standard code list OtherCalculationFrequency: - description: >- - Other calculation frequency which is not available in - standard code set. - type: object title: OtherCalculationFrequency + required: + - Description + - Name + type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file to - identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML file + to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - additionalProperties: false - required: - - Name - - Description + minLength: 1 + type: string + description: Description to describe the purpose of the code + description: Other calculation frequency which is not available + in standard code set. FeeChargeCap: - description: >- - Details about any caps (maximum charges) that apply to a - particular fee/charge - type: array title: FeeChargeCap + type: array + description: Details about any caps (maximum charges) that apply + to a particular fee/charge items: - description: >- - Details about any caps (maximum charges) that apply to a - particular fee/charge + required: + - FeeType + - MinMaxType type: object properties: FeeType: - description: Fee/charge type which is being capped title: FeeType + minItems: 1 type: array + description: Fee/charge type which is being capped items: - description: Fee/charge type which is being capped type: string + description: Fee/charge type which is being capped enum: - - ServiceCAccountFee - - ServiceCAccountFeeMonthly - - ServiceCOther - - Other - minItems: 1 + - ServiceCAccountFee + - ServiceCAccountFeeMonthly + - ServiceCOther + - Other MinMaxType: - description: >- - Indicates that this is the minimum/ maximum - fee/charge that can be applied by the financial - institution title: MinMaxType type: string + description: Indicates that this is the minimum/ maximum + fee/charge that can be applied by the financial institution enum: - - Minimum - - Maximum + - Minimum + - Maximum FeeCapOccurrence: - description: >- - fee/charges are captured dependent on the number of - occurrences rather than capped at a particular - amount title: FeeCapOccurrence type: number + description: fee/charges are captured dependent on the number + of occurrences rather than capped at a particular amount format: float FeeCapAmount: - description: >- - Cap amount charged for a fee/charge (where it is - charged in terms of an amount rather than a rate) title: FeeCapAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge (where + it is charged in terms of an amount rather than a rate) CappingPeriod: - description: >- - Period e.g. day, week, month etc. for which the - fee/charge is capped title: CappingPeriod type: string + description: Period e.g. day, week, month etc. for which + the fee/charge is capped enum: - - AcademicTerm - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - AcademicTerm + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: >- - Free text for adding extra details for fee charge - cap title: Notes type: array + description: Free text for adding extra details for fee + charge cap items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other fee type code which is not available in the - standard code set - type: array title: OtherFeeType + type: array + description: Other fee type code which is not available + in the standard code set items: - description: >- - Other fee type code which is not available in the - standard code set + required: + - Description + - Name type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML - file to identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within + an XML file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: >- - Description to describe the purpose of the - code title: Description - type: string - minLength: 1 maxLength: 350 - required: - - Name - - Description - required: - - FeeType - - MinMaxType + minLength: 1 + type: string + description: Description to describe the purpose of + the code + description: Other fee type code which is not available + in the standard code set + description: Details about any caps (maximum charges) that apply + to a particular fee/charge FeeApplicableRange: - description: Range or amounts or rates for which the fee/charge applies - type: object title: FeeApplicableRange + type: object properties: MinimumAmount: - description: >- - Minimum Amount on which fee/charge is applicable - (where it is expressed as an amount) title: MinimumAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Minimum Amount on which fee/charge is applicable + (where it is expressed as an amount) MaximumAmount: - description: >- - Maximum Amount on which fee is applicable (where it is - expressed as an amount) title: MaximumAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Maximum Amount on which fee is applicable (where + it is expressed as an amount) MinimumRate: - description: >- - Minimum rate on which fee/charge is applicable(where - it is expressed as an rate) title: MinimumRate + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' - MaximumRate: - description: >- - Maximum rate on which fee/charge is applicable(where + description: Minimum rate on which fee/charge is applicable(where it is expressed as an rate) + MaximumRate: title: MaximumRate + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' - additionalProperties: false - required: - - FeeCategory - - FeeType - - ApplicationFrequency - minItems: 1 + description: Maximum rate on which fee/charge is applicable(where + it is expressed as an rate) + description: Range or amounts or rates for which the fee/charge + applies + description: Other fees/charges details FeeChargeCap: - description: >- - Details about any caps (maximum charges) that apply to a - particular fee/charge - type: array title: FeeChargeCap + type: array + description: Details about any caps (maximum charges) that apply to + a particular fee/charge items: - description: >- - Details about any caps (maximum charges) that apply to a - particular fee/charge + required: + - FeeType + - MinMaxType type: object properties: FeeType: - description: Fee/charge type which is being capped title: FeeType + minItems: 1 type: array + description: Fee/charge type which is being capped items: - description: Fee/charge type which is being capped type: string + description: Fee/charge type which is being capped enum: - - ServiceCAccountFee - - ServiceCAccountFeeMonthly - - ServiceCOther - - Other - minItems: 1 + - ServiceCAccountFee + - ServiceCAccountFeeMonthly + - ServiceCOther + - Other MinMaxType: - description: >- - Indicates that this is the minimum/ maximum fee/charge - that can be applied by the financial institution title: MinMaxType type: string + description: Indicates that this is the minimum/ maximum fee/charge + that can be applied by the financial institution enum: - - Minimum - - Maximum + - Minimum + - Maximum FeeCapOccurrence: - description: >- - fee/charges are captured dependent on the number of - occurrences rather than capped at a particular amount title: FeeCapOccurrence type: number + description: fee/charges are captured dependent on the number + of occurrences rather than capped at a particular amount format: float FeeCapAmount: - description: >- - Cap amount charged for a fee/charge (where it is charged - in terms of an amount rather than a rate) title: FeeCapAmount + pattern: ^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,14}){1}(\.\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge (where it is + charged in terms of an amount rather than a rate) CappingPeriod: - description: >- - Period e.g. day, week, month etc. for which the fee/charge - is capped title: CappingPeriod type: string + description: Period e.g. day, week, month etc. for which the fee/charge + is capped enum: - - AcademicTerm - - Day - - Half Year - - Month - - Quarter - - Week - - Year + - AcademicTerm + - Day + - Half Year + - Month + - Quarter + - Week + - Year Notes: - description: Free text for adding extra details for fee charge cap title: Notes type: array + description: Free text for adding extra details for fee charge + cap items: - description: maxLength 2000 text - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: maxLength 2000 text OtherFeeType: - description: >- - Other fee type code which is not available in the standard - code set - type: array title: OtherFeeType + type: array + description: Other fee type code which is not available in the + standard code set items: - description: >- - Other fee type code which is not available in the - standard code set + required: + - Description + - Name type: object properties: Code: - description: >- - The four letter Mnemonic used within an XML file to - identify a code title: Code - type: string - pattern: '^\w{0,4}$' - minLength: 0 maxLength: 4 + minLength: 0 + pattern: ^\w{0,4}$ + type: string + description: The four letter Mnemonic used within an XML + file to identify a code Name: - description: Long name associated with the code title: Name - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Long name associated with the code Description: - description: Description to describe the purpose of the code title: Description - type: string - minLength: 1 maxLength: 350 - required: - - Name - - Description - required: - - FeeType - - MinMaxType - additionalProperties: false - required: - - FeeChargeDetail - additionalProperties: false + minLength: 1 + type: string + description: Description to describe the purpose of the + code + description: Other fee type code which is not available in the + standard code set + description: Details about any caps (maximum charges) that apply to + a particular fee/charge + description: Contains details of fees and charges which are not associated + with either borrowing or features/benefits OBParty2: - type: object required: - - PartyId + - PartyId + type: object properties: PartyId: $ref: '#/components/schemas/PartyId' @@ -7531,25 +10108,23 @@ components: Address: type: array items: - type: object - description: Postal address of a party. required: - - Country + - Country + type: object properties: AddressType: $ref: '#/components/schemas/OBAddressTypeCode' AddressLine: + maxItems: 5 + minItems: 0 type: array items: - description: >- - Information that locates and identifies a specific address, - as defined by postal services, that is presented in free - format text. - type: string - minLength: 1 maxLength: 70 - minItems: 0 - maxItems: 5 + minLength: 1 + type: string + description: Information that locates and identifies a specific + address, as defined by postal services, that is presented in free + format text. StreetName: $ref: '#/components/schemas/StreetName' BuildingNumber: @@ -7562,49 +10137,44 @@ components: $ref: '#/components/schemas/CountrySubDivision' Country: $ref: '#/components/schemas/CountryCode' - additionalProperties: false + description: Postal address of a party. OBPartyRelationships1: type: object - description: The Party's relationships with other resources. properties: Account: - type: object required: - - Related - - Id - description: Relationship to the Account resource. + - Id + - Related + type: object properties: Related: - description: Absolute URI to the related resource. type: string + description: Absolute URI to the related resource. format: uri Id: - description: >- - Unique identification as assigned by the ASPSP to uniquely - identify the related resource. - type: string - minLength: 1 maxLength: 40 + minLength: 1 + type: string + description: Unique identification as assigned by the ASPSP to uniquely + identify the related resource. + description: Relationship to the Account resource. + description: The Party's relationships with other resources. OBPostalAddress6: type: object - description: >- - Information that locates and identifies a specific address, as defined - by postal services. properties: AddressType: $ref: '#/components/schemas/OBAddressTypeCode' Department: - description: Identification of a division of a large organisation or building. - type: string - minLength: 1 maxLength: 70 - SubDepartment: - description: >- - Identification of a sub-division of a large organisation or - building. - type: string minLength: 1 + type: string + description: Identification of a division of a large organisation or building. + SubDepartment: maxLength: 70 + minLength: 1 + type: string + description: Identification of a sub-division of a large organisation or + building. StreetName: $ref: '#/components/schemas/StreetName' BuildingNumber: @@ -7614,39 +10184,39 @@ components: TownName: $ref: '#/components/schemas/TownName' CountrySubDivision: - description: 'Identifies a subdivision of a country such as state, region, county.' - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Identifies a subdivision of a country such as state, region, + county. Country: - description: Nation with its own government. + pattern: ^[A-Z]{2,2}$ type: string - pattern: '^[A-Z]{2,2}$' + description: Nation with its own government. AddressLine: + maxItems: 7 + minItems: 0 type: array items: - description: >- - Information that locates and identifies a specific address, as - defined by postal services, presented in free format text. - type: string - minLength: 1 maxLength: 70 - minItems: 0 - maxItems: 7 + minLength: 1 + type: string + description: Information that locates and identifies a specific address, + as defined by postal services, presented in free format text. + description: Information that locates and identifies a specific address, as + defined by postal services. OBRate1_0: - description: >- - Rate charged for Statement Fee (where it is charged in terms of a rate - rather than an amount) type: number + description: Rate charged for Statement Fee (where it is charged in terms of + a rate rather than an amount) OBRate1_1: - description: >- - field representing a percentage (e.g. 0.05 represents 5% and 0.9525 - represents 95.25%). Note the number of decimal places may vary. type: number - OBReadAccount5: - type: object + description: field representing a percentage (e.g. 0.05 represents 5% and 0.9525 + represents 95.25%). Note the number of decimal places may vary. + OBReadAccount6: required: - - Data + - Data + type: object properties: Data: type: object @@ -7659,28 +10229,27 @@ components: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBReadBalance1: - type: object required: - - Data + - Data + type: object properties: Data: - type: object required: - - Balance + - Balance + type: object properties: Balance: + minItems: 1 type: array items: - type: object - description: Set of elements used to define the balance details. required: - - AccountId - - CreditDebitIndicator - - Type - - DateTime - - Amount + - AccountId + - Amount + - CreditDebitIndicator + - DateTime + - Type + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -7689,79 +10258,66 @@ components: Type: $ref: '#/components/schemas/OBBalanceType1Code' DateTime: - description: >- - Indicates the date (and time) of the balance.All dates in - the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the - timezone. An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Indicates the date (and time) of the balance.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the\ + \ timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Amount: - type: object required: - - Amount - - Currency - description: Amount of money of the cash balance. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: Amount of money of the cash balance. CreditLine: type: array items: - type: object - description: >- - Set of elements used to provide details on the credit - line. required: - - Included + - Included + type: object properties: Included: - description: >- - Indicates whether or not the credit line is included - in the balance of the account. - - Usage: If not present, credit line is not included - in the balance amount of the account. type: boolean + description: |- + Indicates whether or not the credit line is included in the balance of the account. + Usage: If not present, credit line is not included in the balance amount of the account. Type: - description: 'Limit type, in a coded form.' type: string + description: Limit type, in a coded form. enum: - - Available - - Credit - - Emergency - - Pre-Agreed - - Temporary + - Available + - Credit + - Emergency + - Pre-Agreed + - Temporary Amount: - type: object required: - - Amount - - Currency - description: Amount of money of the credit line. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: - $ref: >- - #/components/schemas/ActiveOrHistoricCurrencyCode_1 - minItems: 1 + $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: Amount of money of the credit line. + description: Set of elements used to provide details on the + credit line. + description: Set of elements used to define the balance details. Links: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBReadBeneficiary5: - type: object required: - - Data + - Data + type: object properties: Data: type: object @@ -7774,204 +10330,163 @@ components: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBReadConsent1: - type: object required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object required: - - Permissions + - Permissions + type: object properties: Permissions: + minItems: 1 type: array items: - description: >- - Specifies the Open Banking account access data types. This is - a list of the data clusters being consented by the PSU, and - requested for authorisation with the ASPSP. type: string + description: Specifies the Open Banking account access data types. + This is a list of the data clusters being consented by the PSU, + and requested for authorisation with the ASPSP. enum: - - ReadAccountsBasic - - ReadAccountsDetail - - ReadBalances - - ReadBeneficiariesBasic - - ReadBeneficiariesDetail - - ReadDirectDebits - - ReadOffers - - ReadPAN - - ReadParty - - ReadPartyPSU - - ReadProducts - - ReadScheduledPaymentsBasic - - ReadScheduledPaymentsDetail - - ReadStandingOrdersBasic - - ReadStandingOrdersDetail - - ReadStatementsBasic - - ReadStatementsDetail - - ReadTransactionsBasic - - ReadTransactionsCredits - - ReadTransactionsDebits - - ReadTransactionsDetail - minItems: 1 + - ReadAccountsBasic + - ReadAccountsDetail + - ReadBalances + - ReadBeneficiariesBasic + - ReadBeneficiariesDetail + - ReadDirectDebits + - ReadOffers + - ReadPAN + - ReadParty + - ReadPartyPSU + - ReadProducts + - ReadScheduledPaymentsBasic + - ReadScheduledPaymentsDetail + - ReadStandingOrdersBasic + - ReadStandingOrdersDetail + - ReadStatementsBasic + - ReadStatementsDetail + - ReadTransactionsBasic + - ReadTransactionsCredits + - ReadTransactionsDebits + - ReadTransactionsDetail ExpirationDateTime: - description: >- - Specified date and time the permissions will expire. - - If this is not populated, the permissions will be open ended.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified date and time the permissions will expire.\n\ + If this is not populated, the permissions will be open ended.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time TransactionFromDateTime: - description: >- - Specified start date and time for the transaction query period. - - If this is not populated, the start date will be open ended, and - data will be returned from the earliest available - transaction.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified start date and time for the transaction query\ + \ period.\nIf this is not populated, the start date will be open ended,\ + \ and data will be returned from the earliest available transaction.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time TransactionToDateTime: - description: >- - Specified end date and time for the transaction query period. - - If this is not populated, the end date will be open ended, and - data will be returned to the latest available transaction.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified end date and time for the transaction query\ + \ period.\nIf this is not populated, the end date will be open ended,\ + \ and data will be returned to the latest available transaction.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Risk: $ref: '#/components/schemas/OBRisk2' - additionalProperties: false OBReadConsentResponse1: - type: object required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object required: - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Permissions + - ConsentId + - CreationDateTime + - Permissions + - Status + - StatusUpdateDateTime + type: object properties: ConsentId: - description: >- - Unique identification as assigned to identify the account access - consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: Unique identification as assigned to identify the account + access consent resource. CreationDateTime: $ref: '#/components/schemas/CreationDateTime' Status: - description: Specifies the status of consent resource in code form. type: string + description: Specifies the status of consent resource in code form. enum: - - Authorised - - AwaitingAuthorisation - - Rejected - - Revoked + - Authorised + - AwaitingAuthorisation + - Rejected + - Revoked StatusUpdateDateTime: $ref: '#/components/schemas/StatusUpdateDateTime' Permissions: + minItems: 1 type: array items: - description: >- - Specifies the Open Banking account access data types. This is - a list of the data clusters being consented by the PSU, and - requested for authorisation with the ASPSP. type: string + description: Specifies the Open Banking account access data types. + This is a list of the data clusters being consented by the PSU, + and requested for authorisation with the ASPSP. enum: - - ReadAccountsBasic - - ReadAccountsDetail - - ReadBalances - - ReadBeneficiariesBasic - - ReadBeneficiariesDetail - - ReadDirectDebits - - ReadOffers - - ReadPAN - - ReadParty - - ReadPartyPSU - - ReadProducts - - ReadScheduledPaymentsBasic - - ReadScheduledPaymentsDetail - - ReadStandingOrdersBasic - - ReadStandingOrdersDetail - - ReadStatementsBasic - - ReadStatementsDetail - - ReadTransactionsBasic - - ReadTransactionsCredits - - ReadTransactionsDebits - - ReadTransactionsDetail - minItems: 1 + - ReadAccountsBasic + - ReadAccountsDetail + - ReadBalances + - ReadBeneficiariesBasic + - ReadBeneficiariesDetail + - ReadDirectDebits + - ReadOffers + - ReadPAN + - ReadParty + - ReadPartyPSU + - ReadProducts + - ReadScheduledPaymentsBasic + - ReadScheduledPaymentsDetail + - ReadStandingOrdersBasic + - ReadStandingOrdersDetail + - ReadStatementsBasic + - ReadStatementsDetail + - ReadTransactionsBasic + - ReadTransactionsCredits + - ReadTransactionsDebits + - ReadTransactionsDetail ExpirationDateTime: - description: >- - Specified date and time the permissions will expire. - - If this is not populated, the permissions will be open ended.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified date and time the permissions will expire.\n\ + If this is not populated, the permissions will be open ended.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time TransactionFromDateTime: - description: >- - Specified start date and time for the transaction query period. - - If this is not populated, the start date will be open ended, and - data will be returned from the earliest available - transaction.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified start date and time for the transaction query\ + \ period.\nIf this is not populated, the start date will be open ended,\ + \ and data will be returned from the earliest available transaction.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time TransactionToDateTime: - description: >- - Specified end date and time for the transaction query period. - - If this is not populated, the end date will be open ended, and - data will be returned to the latest available transaction.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified end date and time for the transaction query\ + \ period.\nIf this is not populated, the end date will be open ended,\ + \ and data will be returned to the latest available transaction.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Risk: $ref: '#/components/schemas/OBRisk2' @@ -7979,7 +10494,6 @@ components: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBReadDataStatement2: type: object properties: @@ -7987,7 +10501,6 @@ components: type: array items: $ref: '#/components/schemas/OBStatement2' - additionalProperties: false OBReadDataTransaction6: type: object properties: @@ -7995,11 +10508,10 @@ components: type: array items: $ref: '#/components/schemas/OBTransaction6' - additionalProperties: false OBReadDirectDebit2: - type: object required: - - Data + - Data + type: object properties: Data: type: object @@ -8007,12 +10519,11 @@ components: DirectDebit: type: array items: - type: object - description: Account to or from which a cash entry is made. required: - - AccountId - - MandateIdentification - - Name + - AccountId + - MandateIdentification + - Name + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -8027,30 +10538,29 @@ components: PreviousPaymentDateTime: $ref: '#/components/schemas/PreviousPaymentDateTime' Frequency: - description: >- - Regularity with which direct debit instructions are to be - created and processed. type: string + description: Regularity with which direct debit instructions are + to be created and processed. x-namespaced-enum: - - UK.OBIE.Annual - - UK.OBIE.Daily - - UK.OBIE.Fortnightly - - UK.OBIE.HalfYearly - - UK.OBIE.Monthly - - UK.OBIE.NotKnown - - UK.OBIE.Quarterly - - UK.OBIE.Weekly + - UK.OBIE.Annual + - UK.OBIE.Daily + - UK.OBIE.Fortnightly + - UK.OBIE.HalfYearly + - UK.OBIE.Monthly + - UK.OBIE.NotKnown + - UK.OBIE.Quarterly + - UK.OBIE.Weekly PreviousPaymentAmount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_0' + description: Account to or from which a cash entry is made. Links: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBReadOffer1: - type: object required: - - Data + - Data + type: object properties: Data: type: object @@ -8058,110 +10568,95 @@ components: Offer: type: array items: - type: object required: - - AccountId + - AccountId + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' OfferId: - description: >- - A unique and immutable identifier used to identify the - offer resource. This identifier has no meaning to the - account owner. - type: string - minLength: 1 maxLength: 40 + minLength: 1 + type: string + description: A unique and immutable identifier used to identify + the offer resource. This identifier has no meaning to the account + owner. OfferType: - description: 'Offer type, in a coded form.' type: string + description: Offer type, in a coded form. enum: - - BalanceTransfer - - LimitIncrease - - MoneyTransfer - - Other - - PromotionalRate + - BalanceTransfer + - LimitIncrease + - MoneyTransfer + - Other + - PromotionalRate Description: - description: Further details of the offer. - type: string - minLength: 1 maxLength: 500 + minLength: 1 + type: string + description: Further details of the offer. StartDateTime: - description: >- - Date and time at which the offer starts.All dates in the - JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the - timezone. An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the offer starts.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the\ + \ timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time EndDateTime: - description: >- - Date and time at which the offer ends.All dates in the - JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the - timezone. An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the offer ends.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the\ + \ timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Rate: - description: Rate associated with the offer type. + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: Rate associated with the offer type. Value: - description: Value associated with the offer type. type: integer + description: Value associated with the offer type. Term: - description: Further details of the term of the offer. - type: string - minLength: 1 maxLength: 500 - URL: - description: >- - URL (Uniform Resource Locator) where documentation on the - offer can be found - type: string minLength: 1 + type: string + description: Further details of the term of the offer. + URL: maxLength: 256 + minLength: 1 + type: string + description: URL (Uniform Resource Locator) where documentation + on the offer can be found Amount: - type: object required: - - Amount - - Currency - description: Amount of money associated with the offer type. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: Amount of money associated with the offer type. Fee: - type: object required: - - Amount - - Currency - description: Fee associated with the offer type. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' + description: Fee associated with the offer type. Links: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBReadParty2: - type: object required: - - Data + - Data + type: object properties: Data: type: object @@ -8172,11 +10667,10 @@ components: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBReadParty3: - type: object required: - - Data + - Data + type: object properties: Data: type: object @@ -8189,369 +10683,313 @@ components: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBReadProduct2: - type: object required: - - Data - description: >- - Product details of Other Product which is not avaiable in the standard - list + - Data + type: object properties: Data: type: object - description: Aligning with the read write specs structure. properties: Product: type: array items: - type: object - description: Product details associated with the Account required: - - AccountId - - ProductType + - AccountId + - ProductType + type: object properties: ProductName: - description: >- - The name of the Product used for marketing purposes from a - customer perspective. I.e. what the customer would - recognise. - type: string - minLength: 1 maxLength: 350 - ProductId: - description: >- - The unique ID that has been internally assigned by the - financial institution to each of the current account - banking products they market to their retail and/or small - to medium enterprise (SME) customers. - type: string minLength: 1 + type: string + description: The name of the Product used for marketing purposes + from a customer perspective. I.e. what the customer would recognise. + ProductId: maxLength: 40 + minLength: 1 + type: string + description: The unique ID that has been internally assigned by + the financial institution to each of the current account banking + products they market to their retail and/or small to medium + enterprise (SME) customers. AccountId: $ref: '#/components/schemas/AccountId' SecondaryProductId: - description: >- - Any secondary Identification which supports Product - Identifier to uniquely identify the current account - banking products. - type: string - minLength: 1 maxLength: 70 + minLength: 1 + type: string + description: Any secondary Identification which supports Product + Identifier to uniquely identify the current account banking + products. ProductType: - description: >- - Product type : Personal Current Account, Business Current - Account type: string + description: 'Product type : Personal Current Account, Business + Current Account' enum: - - BusinessCurrentAccount - - CommercialCreditCard - - Other - - PersonalCurrentAccount - - SMELoan + - BusinessCurrentAccount + - CommercialCreditCard + - Other + - PersonalCurrentAccount + - SMELoan MarketingStateId: - description: >- - Unique and unambiguous identification of a Product - Marketing State. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of a Product + Marketing State. OtherProductType: - type: object required: - - Name - - Description - description: Other product type details associated with the account. + - Description + - Name + type: object properties: Name: - description: Long name associated with the product - type: string - minLength: 1 maxLength: 350 - Description: - description: Description of the Product associated with the account - type: string minLength: 1 + type: string + description: Long name associated with the product + Description: maxLength: 350 + minLength: 1 + type: string + description: Description of the Product associated with the + account ProductDetails: type: object properties: Segment: type: array items: - description: >- - Market segmentation is a marketing term - referring to the aggregating of prospective - buyers into groups, or segments, that have - common needs and respond similarly to a - marketing action. Market segmentation enables - companies to target different categories of - consumers who perceive the full value of certain - products and services differently from one - another. - - Read more: Market Segmentation - http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd type: string + description: "Market segmentation is a marketing term\ + \ referring to the aggregating of prospective buyers\ + \ into groups, or segments, that have common needs\ + \ and respond similarly to a marketing action. Market\ + \ segmentation enables companies to target different\ + \ categories of consumers who perceive the full value\ + \ of certain products and services differently from\ + \ one another.\nRead more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTd " enum: - - GEAS - - GEBA - - GEBR - - GEBU - - GECI - - GECS - - GEFB - - GEFG - - GEG - - GEGR - - GEGS - - GEOT - - GEOV - - GEPA - - GEPR - - GERE - - GEST - - GEYA - - GEYO - - PSCA - - PSES - - PSNC - - PSNP - - PSRG - - PSSS - - PSST - - PSSW + - GEAS + - GEBA + - GEBR + - GEBU + - GECI + - GECS + - GEFB + - GEFG + - GEG + - GEGR + - GEGS + - GEOT + - GEOV + - GEPA + - GEPR + - GERE + - GEST + - GEYA + - GEYO + - PSCA + - PSES + - PSNC + - PSNP + - PSRG + - PSSS + - PSST + - PSSW FeeFreeLength: - description: The length/duration of the fee free period type: integer + description: The length/duration of the fee free period FeeFreeLengthPeriod: - description: >- - The unit of period (days, weeks, months etc.) of - the promotional length type: string + description: The unit of period (days, weeks, months etc.) + of the promotional length enum: - - PACT - - PDAY - - PHYR - - PMTH - - PQTR - - PWEK - - PYER + - PACT + - PDAY + - PHYR + - PMTH + - PQTR + - PWEK + - PYER MonthlyMaximumCharge: - description: >- - The maximum relevant charges that could accrue as - defined fully in Part 7 of the CMA order + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: The maximum relevant charges that could accrue + as defined fully in Part 7 of the CMA order Notes: type: array items: - description: >- - Optional additional notes to supplement the Core - product details - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional notes to supplement + the Core product details OtherSegment: $ref: '#/components/schemas/OB_OtherCodeType1_0' CreditInterest: - type: object required: - - TierBandSet - description: >- - Details about the interest that may be payable to the - Account holders + - TierBandSet + type: object properties: TierBandSet: + minItems: 1 type: array items: - type: object - description: >- - The group of tiers or bands for which credit - interest can be applied. required: - - TierBandMethod - - Destination - - TierBand + - Destination + - TierBand + - TierBandMethod + type: object properties: TierBandMethod: - description: >- - The methodology of how credit interest is - paid/applied. It can be:- - + type: string + description: |- + The methodology of how credit interest is paid/applied. It can be:- 1. Banded - - Interest rates are banded. i.e. Increasing - rate on whole balance as balance increases. - + Interest rates are banded. i.e. Increasing rate on whole balance as balance increases. 2. Tiered - - Interest rates are tiered. i.e. increasing - rate for each tier as balance increases, but - interest paid on tier fixed for that tier - and not on whole balance. - + Interest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance. 3. Whole - - The same interest rate is applied - irrespective of the product holder's account - balance - type: string + The same interest rate is applied irrespective of the product holder's account balance enum: - - INBA - - INTI - - INWH + - INBA + - INTI + - INWH CalculationMethod: - $ref: >- - #/components/schemas/OB_InterestCalculationMethod1Code + $ref: '#/components/schemas/OB_InterestCalculationMethod1Code' Destination: - description: >- - Describes whether accrued interest is - payable only to the BCA or to another bank - account type: string + description: Describes whether accrued interest + is payable only to the BCA or to another bank + account enum: - - INOT - - INPA - - INSC + - INOT + - INPA + - INSC Notes: type: array items: - description: >- - Optional additional notes to supplement - the Tier Band Set details - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional notes to supplement + the Tier Band Set details OtherCalculationMethod: $ref: '#/components/schemas/OB_OtherCodeType1_0' OtherDestination: $ref: '#/components/schemas/OB_OtherCodeType1_0' TierBand: + minItems: 1 type: array items: - type: object - description: Tier Band Details required: - - TierValueMinimum - - ApplicationFrequency - - FixedVariableInterestRateType - - AER + - AER + - ApplicationFrequency + - FixedVariableInterestRateType + - TierValueMinimum + type: object properties: Identification: - description: >- - Unique and unambiguous identification of - a Tier Band for the Product. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification + of a Tier Band for the Product. TierValueMinimum: - description: >- - Minimum deposit value for which the - credit interest tier applies. + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: Minimum deposit value for which + the credit interest tier applies. TierValueMaximum: - description: >- - Maximum deposit value for which the - credit interest tier applies. + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: Maximum deposit value for which + the credit interest tier applies. CalculationFrequency: - description: >- - How often is credit interest calculated - for the account. type: string + description: How often is credit interest + calculated for the account. enum: - - FQAT - - FQDY - - FQHY - - FQMY - - FQOT - - FQQY - - FQSD - - FQWY - - FQYY + - FQAT + - FQDY + - FQHY + - FQMY + - FQOT + - FQQY + - FQSD + - FQWY + - FQYY ApplicationFrequency: - description: >- - How often is interest applied to the - Product for this tier/band i.e. how - often the financial institution pays - accumulated interest to the customer's - account. type: string + description: How often is interest applied + to the Product for this tier/band i.e. how + often the financial institution pays accumulated + interest to the customer's account. enum: - - FQAT - - FQDY - - FQHY - - FQMY - - FQOT - - FQQY - - FQSD - - FQWY - - FQYY + - FQAT + - FQDY + - FQHY + - FQMY + - FQOT + - FQQY + - FQSD + - FQWY + - FQYY DepositInterestAppliedCoverage: - description: Amount on which Interest applied. type: string + description: Amount on which Interest applied. enum: - - INBA - - INTI - - INWH + - INBA + - INTI + - INWH FixedVariableInterestRateType: - $ref: >- - #/components/schemas/OB_InterestFixedVariableType1Code + $ref: '#/components/schemas/OB_InterestFixedVariableType1Code' AER: - description: >- - The annual equivalent rate (AER) is - interest that is calculated under the - assumption that any interest paid is - combined with the original balance and - the next interest payment will be based - on the slightly higher account balance. - Overall, this means that interest can be - compounded several times in a year - depending on the number of times that - interest payments are made. - - Read more: Annual Equivalent Rate (AER) - http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A + pattern: ^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$' + description: "The annual equivalent rate (AER)\ + \ is interest that is calculated under the\ + \ assumption that any interest paid is combined\ + \ with the original balance and the next\ + \ interest payment will be based on the\ + \ slightly higher account balance. Overall,\ + \ this means that interest can be compounded\ + \ several times in a year depending on the\ + \ number of times that interest payments\ + \ are made. \nRead more: Annual Equivalent\ + \ Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1A" BankInterestRateType: - description: >- - Interest rate types, other than AER, - which financial institutions may use to - describe the annual interest rate - payable to the account holder's account. type: string + description: Interest rate types, other than + AER, which financial institutions may use + to describe the annual interest rate payable + to the account holder's account. enum: - - INBB - - INFR - - INGR - - INLR - - INNE - - INOT + - INBB + - INFR + - INGR + - INLR + - INNE + - INOT BankInterestRate: - description: Bank Interest for the product + pattern: ^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$' + description: Bank Interest for the product Notes: type: array items: - description: >- - Optional additional notes to supplement - the Tier Band details - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional notes to + supplement the Tier Band details OtherBankInterestType: - type: object required: - - Name - - Description - description: >- - Other interest rate types which are not - available in the standard code list + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -8559,238 +10997,209 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other interest rate types which + are not available in the standard code list OtherApplicationFrequency: $ref: '#/components/schemas/OB_OtherCodeType1_1' OtherCalculationFrequency: $ref: '#/components/schemas/OB_OtherCodeType1_2' - minItems: 1 - minItems: 1 + description: Tier Band Details + description: The group of tiers or bands for which credit + interest can be applied. + description: Details about the interest that may be payable + to the Account holders Overdraft: - type: object required: - - OverdraftTierBandSet - description: Borrowing details + - OverdraftTierBandSet + type: object properties: Notes: type: array items: - description: Associated Notes about the overdraft rates - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Associated Notes about the overdraft rates OverdraftTierBandSet: + minItems: 1 type: array items: - type: object - description: Tier band set details required: - - TierBandMethod - - OverdraftTierBand + - OverdraftTierBand + - TierBandMethod + type: object properties: TierBandMethod: - description: >- - The methodology of how overdraft is charged. - It can be: - - 'Whole' Where the same charge/rate is - applied to the entirety of the overdraft - balance (where charges are applicable). - - 'Tiered' Where different charges/rates are - applied dependent on overdraft maximum and - minimum balance amount tiers defined by the - lending financial organisation - - 'Banded' Where different charges/rates are - applied dependent on overdraft maximum and - minimum balance amount bands defined by a - government organisation. type: string + description: "The methodology of how overdraft is\ + \ charged. It can be:\n'Whole' Where the same\ + \ charge/rate is applied to the entirety of the\ + \ overdraft balance (where charges are applicable).\ + \ \n'Tiered' Where different charges/rates are\ + \ applied dependent on overdraft maximum and minimum\ + \ balance amount tiers defined by the lending\ + \ financial organisation\n'Banded' Where different\ + \ charges/rates are applied dependent on overdraft\ + \ maximum and minimum balance amount bands defined\ + \ by a government organisation." enum: - - INBA - - INTI - - INWH + - INBA + - INTI + - INWH OverdraftType: - description: >- - An overdraft can either be 'committed' which - means that the facility cannot be withdrawn - without reasonable notification before it's - agreed end date, or 'on demand' which means - that the financial institution can demand - repayment at any point in time. type: string + description: An overdraft can either be 'committed' + which means that the facility cannot be withdrawn + without reasonable notification before it's agreed + end date, or 'on demand' which means that the + financial institution can demand repayment at + any point in time. enum: - - OVCO - - OVOD - - OVOT + - OVCO + - OVOD + - OVOT Identification: - description: >- - Unique and unambiguous identification of a - Tier Band for a overdraft product. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification + of a Tier Band for a overdraft product. AuthorisedIndicator: - description: >- - Indicates if the Overdraft is authorised (Y) - or unauthorised (N) type: boolean + description: Indicates if the Overdraft is authorised + (Y) or unauthorised (N) BufferAmount: - description: >- - When a customer exceeds their credit limit, - a financial institution will not charge the - customer unauthorised overdraft charges if - they do not exceed by more than the buffer - amount. Note: Authorised overdraft charges - may still apply. + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: 'When a customer exceeds their credit + limit, a financial institution will not charge + the customer unauthorised overdraft charges if + they do not exceed by more than the buffer amount. + Note: Authorised overdraft charges may still apply.' Notes: type: array items: - description: >- - Optional additional notes to supplement - the overdraft Tier Band Set details - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional notes to supplement + the overdraft Tier Band Set details OverdraftTierBand: + minItems: 1 type: array items: - type: object - description: >- - Provides overdraft details for a specific - tier or band required: - - TierValueMin + - TierValueMin + type: object properties: Identification: - description: >- - Unique and unambiguous identification of - a Tier Band for a overdraft. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification + of a Tier Band for a overdraft. TierValueMin: - description: Minimum value of Overdraft Tier/Band + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: Minimum value of Overdraft Tier/Band TierValueMax: - description: Maximum value of Overdraft Tier/Band + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: Maximum value of Overdraft Tier/Band EAR: - description: >- - EAR means Effective Annual Rate and/or - Equivalent Annual Rate (frequently - - used interchangeably), being the actual - annual interest rate of an Overdraft. + pattern: ^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$' + description: |- + EAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently + used interchangeably), being the actual annual interest rate of an Overdraft. AgreementLengthMin: - description: >- - Specifies the minimum length of a band - for a fixed overdraft agreement type: integer + description: Specifies the minimum length + of a band for a fixed overdraft agreement AgreementLengthMax: - description: >- - Specifies the maximum length of a band - for a fixed overdraft agreement type: integer + description: Specifies the maximum length + of a band for a fixed overdraft agreement AgreementPeriod: - description: >- - Specifies the period of a fixed length - overdraft agreement type: string + description: Specifies the period of a fixed + length overdraft agreement enum: - - PACT - - PDAY - - PHYR - - PMTH - - PQTR - - PWEK - - PYER + - PACT + - PDAY + - PHYR + - PMTH + - PQTR + - PWEK + - PYER OverdraftInterestChargingCoverage: - description: >- - Refers to which interest rate is applied - when interests are tiered. For example, - if an overdraft balance is �2k and the - interest tiers are:- 0-�500 0.1%, + type: string + description: Refers to which interest rate + is applied when interests are tiered. For + example, if an overdraft balance is �2k + and the interest tiers are:- 0-�500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be - 0.5% of the entire balance (since the - account balance sits in the top interest - tier) or - (0.1%*500)+(0.2%*500)+(0.5%*1000). In - the 1st situation, we say the interest - is applied to the �Whole� of the account - balance, and in the 2nd that it is - �Tiered�. - type: string + 0.5% of the entire balance (since the account + balance sits in the top interest tier) or + (0.1%*500)+(0.2%*500)+(0.5%*1000). In the + 1st situation, we say the interest is applied + to the �Whole� of the account balance, and + in the 2nd that it is �Tiered�. enum: - - INBA - - INTI - - INWH + - INBA + - INTI + - INWH BankGuaranteedIndicator: - description: >- - Indicates whether the advertised - overdraft rate is guaranteed to be - offered to a borrower by the bank e.g. - if it�s part of a government scheme, or - whether the rate may vary dependent on - the applicant�s circumstances. type: boolean + description: Indicates whether the advertised + overdraft rate is guaranteed to be offered + to a borrower by the bank e.g. if it�s part + of a government scheme, or whether the rate + may vary dependent on the applicant�s circumstances. Notes: type: array items: - description: >- - Optional additional notes to supplement - the Tier/band details - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional notes to + supplement the Tier/band details OverdraftFeesCharges: type: array items: - type: object - description: Overdraft fees and charges required: - - OverdraftFeeChargeDetail + - OverdraftFeeChargeDetail + type: object properties: OverdraftFeeChargeCap: type: array items: - type: object - description: >- - Details about any caps (maximum charges) - that apply to a particular fee/charge. - Capping can either be based on an amount - (in gbp), an amount (in items) or a - rate. required: - - FeeType - - MinMaxType + - FeeType + - MinMaxType + type: object properties: FeeType: + minItems: 1 type: array items: - description: Fee/charge type which is being capped type: string + description: Fee/charge type + which is being capped enum: - - FBAO - - FBAR - - FBEB - - FBIT - - FBOR - - FBOS - - FBSC - - FBTO - - FBUB - - FBUT - - FTOT - - FTUT - minItems: 1 + - FBAO + - FBAR + - FBEB + - FBIT + - FBOR + - FBOS + - FBSC + - FBTO + - FBUB + - FBUT + - FTOT + - FTUT MinMaxType: $ref: '#/components/schemas/OB_MinMaxType1Code' FeeCapOccurrence: @@ -8802,22 +11211,18 @@ components: Notes: type: array items: - description: >- - Notes related to Overdraft fee charge - cap - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Notes related to + Overdraft fee charge cap OtherFeeType: type: array items: - type: object - description: >- - Other fee type code which is not - available in the standard code set required: - - Name - - Description + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -8825,29 +11230,36 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other fee type + code which is not available + in the standard code set + description: Details about any caps + (maximum charges) that apply to + a particular fee/charge. Capping + can either be based on an amount + (in gbp), an amount (in items) or + a rate. OverdraftFeeChargeDetail: + minItems: 1 type: array items: - type: object - description: Details about the fees/charges required: - - FeeType - - ApplicationFrequency + - ApplicationFrequency + - FeeType + type: object properties: FeeType: - $ref: >- - #/components/schemas/OB_OverdraftFeeType1Code + $ref: '#/components/schemas/OB_OverdraftFeeType1Code' NegotiableIndicator: - description: >- - Indicates whether fee and charges are - negotiable type: boolean + description: Indicates whether + fee and charges are negotiable OverdraftControlIndicator: - description: >- - Indicates if the fee/charge is already - covered by an 'Overdraft Control' fee or - not. type: boolean + description: Indicates if the + fee/charge is already covered + by an 'Overdraft Control' fee + or not. IncrementalBorrowingAmount: $ref: '#/components/schemas/OB_Amount1_1' FeeAmount: @@ -8855,56 +11267,49 @@ components: FeeRate: $ref: '#/components/schemas/OB_Rate1_0' FeeRateType: - $ref: >- - #/components/schemas/OB_InterestRateType1Code_0 + $ref: '#/components/schemas/OB_InterestRateType1Code_0' ApplicationFrequency: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_0 + $ref: '#/components/schemas/OB_FeeFrequency1Code_0' CalculationFrequency: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_1 + $ref: '#/components/schemas/OB_FeeFrequency1Code_1' Notes: type: array items: - description: >- - Free text for capturing any other info - related to Overdraft Fees Charge Details - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Free text for capturing + any other info related to + Overdraft Fees Charge Details OverdraftFeeChargeCap: type: array items: - type: object - description: >- - Details about any caps (maximum charges) - that apply to a particular fee/charge. - Capping can either be based on an amount - (in gbp), an amount (in items) or a - rate. required: - - FeeType - - MinMaxType + - FeeType + - MinMaxType + type: object properties: FeeType: + minItems: 1 type: array items: - description: Fee/charge type which is being capped type: string + description: Fee/charge + type which is being + capped enum: - - FBAO - - FBAR - - FBEB - - FBIT - - FBOR - - FBOS - - FBSC - - FBTO - - FBUB - - FBUT - - FTOT - - FTUT - minItems: 1 + - FBAO + - FBAR + - FBEB + - FBIT + - FBOR + - FBOS + - FBSC + - FBTO + - FBUB + - FBUT + - FTOT + - FTUT MinMaxType: $ref: '#/components/schemas/OB_MinMaxType1Code' FeeCapOccurrence: @@ -8916,22 +11321,19 @@ components: Notes: type: array items: - description: >- - Notes related to Overdraft fee charge - cap - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Notes related + to Overdraft fee charge + cap OtherFeeType: type: array items: - type: object - description: >- - Other fee type code which is not - available in the standard code set required: - - Name - - Description + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -8939,6 +11341,16 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other fee + type code which is not + available in the standard + code set + description: Details about any + caps (maximum charges) that + apply to a particular fee/charge. + Capping can either be based + on an amount (in gbp), an + amount (in items) or a rate. OtherFeeType: $ref: '#/components/schemas/OB_OtherCodeType1_3' OtherFeeRateType: @@ -8947,49 +11359,45 @@ components: $ref: '#/components/schemas/OB_OtherCodeType1_1' OtherCalculationFrequency: $ref: '#/components/schemas/OB_OtherCodeType1_2' - minItems: 1 - minItems: 1 + description: Details about the fees/charges + description: Overdraft fees and charges + description: Provides overdraft details for a + specific tier or band OverdraftFeesCharges: type: array items: - type: object - description: Overdraft fees and charges details required: - - OverdraftFeeChargeDetail + - OverdraftFeeChargeDetail + type: object properties: OverdraftFeeChargeCap: type: array items: - type: object - description: >- - Details about any caps (maximum charges) - that apply to a particular fee/charge. - Capping can either be based on an amount - (in gbp), an amount (in items) or a - rate. required: - - FeeType - - MinMaxType + - FeeType + - MinMaxType + type: object properties: FeeType: + minItems: 1 type: array items: - description: Fee/charge type which is being capped type: string + description: Fee/charge type which + is being capped enum: - - FBAO - - FBAR - - FBEB - - FBIT - - FBOR - - FBOS - - FBSC - - FBTO - - FBUB - - FBUT - - FTOT - - FTUT - minItems: 1 + - FBAO + - FBAR + - FBEB + - FBIT + - FBOR + - FBOS + - FBSC + - FBTO + - FBUB + - FBUT + - FTOT + - FTUT MinMaxType: $ref: '#/components/schemas/OB_MinMaxType1Code' FeeCapOccurrence: @@ -9001,22 +11409,18 @@ components: Notes: type: array items: - description: >- - Notes related to Overdraft fee charge - cap - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Notes related to Overdraft + fee charge cap OtherFeeType: type: array items: - type: object - description: >- - Other fee type code which is not - available in the standard code set required: - - Name - - Description + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -9024,29 +11428,33 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other fee type code which + is not available in the standard + code set + description: Details about any caps (maximum + charges) that apply to a particular fee/charge. + Capping can either be based on an amount + (in gbp), an amount (in items) or a rate. OverdraftFeeChargeDetail: + minItems: 1 type: array items: - type: object - description: Details about the fees/charges required: - - FeeType - - ApplicationFrequency + - ApplicationFrequency + - FeeType + type: object properties: FeeType: - $ref: >- - #/components/schemas/OB_OverdraftFeeType1Code + $ref: '#/components/schemas/OB_OverdraftFeeType1Code' NegotiableIndicator: - description: >- - Indicates whether fee and charges are - negotiable type: boolean + description: Indicates whether fee and + charges are negotiable OverdraftControlIndicator: - description: >- - Indicates if the fee/charge is already - covered by an 'Overdraft Control' fee or - not. type: boolean + description: Indicates if the fee/charge + is already covered by an 'Overdraft + Control' fee or not. IncrementalBorrowingAmount: $ref: '#/components/schemas/OB_Amount1_1' FeeAmount: @@ -9054,56 +11462,48 @@ components: FeeRate: $ref: '#/components/schemas/OB_Rate1_0' FeeRateType: - $ref: >- - #/components/schemas/OB_InterestRateType1Code_0 + $ref: '#/components/schemas/OB_InterestRateType1Code_0' ApplicationFrequency: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_0 + $ref: '#/components/schemas/OB_FeeFrequency1Code_0' CalculationFrequency: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_1 + $ref: '#/components/schemas/OB_FeeFrequency1Code_1' Notes: type: array items: - description: >- - Free text for capturing any other info - related to Overdraft Fees Charge Details - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Free text for capturing + any other info related to Overdraft + Fees Charge Details OverdraftFeeChargeCap: type: array items: - type: object - description: >- - Details about any caps (maximum charges) - that apply to a particular fee/charge. - Capping can either be based on an amount - (in gbp), an amount (in items) or a - rate. required: - - FeeType - - MinMaxType + - FeeType + - MinMaxType + type: object properties: FeeType: + minItems: 1 type: array items: - description: Fee/charge type which is being capped type: string + description: Fee/charge type + which is being capped enum: - - FBAO - - FBAR - - FBEB - - FBIT - - FBOR - - FBOS - - FBSC - - FBTO - - FBUB - - FBUT - - FTOT - - FTUT - minItems: 1 + - FBAO + - FBAR + - FBEB + - FBIT + - FBOR + - FBOS + - FBSC + - FBTO + - FBUB + - FBUT + - FTOT + - FTUT MinMaxType: $ref: '#/components/schemas/OB_MinMaxType1Code' FeeCapOccurrence: @@ -9115,22 +11515,18 @@ components: Notes: type: array items: - description: >- - Notes related to Overdraft fee charge - cap - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Notes related to + Overdraft fee charge cap OtherFeeType: type: array items: - type: object - description: >- - Other fee type code which is not - available in the standard code set required: - - Name - - Description + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -9138,6 +11534,15 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other fee type + code which is not available + in the standard code set + description: Details about any caps + (maximum charges) that apply to + a particular fee/charge. Capping + can either be based on an amount + (in gbp), an amount (in items) or + a rate. OtherFeeType: $ref: '#/components/schemas/OB_OtherCodeType1_3' OtherFeeRateType: @@ -9146,210 +11551,173 @@ components: $ref: '#/components/schemas/OB_OtherCodeType1_1' OtherCalculationFrequency: $ref: '#/components/schemas/OB_OtherCodeType1_2' - minItems: 1 - minItems: 1 + description: Details about the fees/charges + description: Overdraft fees and charges details + description: Tier band set details + description: Borrowing details LoanInterest: - type: object required: - - LoanInterestTierBandSet - description: >- - Details about the interest that may be payable to the - SME Loan holders + - LoanInterestTierBandSet + type: object properties: Notes: type: array items: - description: >- - Optional additional notes to supplement the - LoanInterest - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional notes to supplement + the LoanInterest LoanInterestTierBandSet: + minItems: 1 type: array items: - type: object - description: >- - The group of tiers or bands for which debit - interest can be applied. required: - - TierBandMethod - - CalculationMethod - - LoanInterestTierBand + - CalculationMethod + - LoanInterestTierBand + - TierBandMethod + type: object properties: TierBandMethod: - description: >- - The methodology of how credit interest is - charged. It can be:- - + type: string + description: |- + The methodology of how credit interest is charged. It can be:- 1. Banded - - Interest rates are banded. i.e. Increasing - rate on whole balance as balance increases. - + Interest rates are banded. i.e. Increasing rate on whole balance as balance increases. 2. Tiered - - Interest rates are tiered. i.e. increasing - rate for each tier as balance increases, but - interest paid on tier fixed for that tier - and not on whole balance. - + Interest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance. 3. Whole - - The same interest rate is applied - irrespective of the SME Loan balance - type: string + The same interest rate is applied irrespective of the SME Loan balance enum: - - INBA - - INTI - - INWH + - INBA + - INTI + - INWH Identification: - description: >- - Loan interest tierbandset identification. - Used by loan providers for internal use - purpose. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Loan interest tierbandset identification. + Used by loan providers for internal use purpose. CalculationMethod: - $ref: >- - #/components/schemas/OB_InterestCalculationMethod1Code + $ref: '#/components/schemas/OB_InterestCalculationMethod1Code' Notes: type: array items: - description: >- - Optional additional notes to supplement - the Tier Band Set details - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional notes to supplement + the Tier Band Set details OtherCalculationMethod: $ref: '#/components/schemas/OB_OtherCodeType1_0' LoanInterestTierBand: + minItems: 1 type: array items: - type: object - description: Tier Band Details required: - - TierValueMinimum - - TierValueMinTerm - - MinTermPeriod - - FixedVariableInterestRateType - - RepAPR + - FixedVariableInterestRateType + - MinTermPeriod + - RepAPR + - TierValueMinTerm + - TierValueMinimum + type: object properties: Identification: - description: >- - Unique and unambiguous identification of - a Tier Band for a SME Loan. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification + of a Tier Band for a SME Loan. TierValueMinimum: - description: >- - Minimum loan value for which the loan - interest tier applies. + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: Minimum loan value for which + the loan interest tier applies. TierValueMaximum: - description: >- - Maximum loan value for which the loan - interest tier applies. + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: Maximum loan value for which + the loan interest tier applies. TierValueMinTerm: - description: >- - Minimum loan term for which the loan - interest tier applies. type: integer + description: Minimum loan term for which the + loan interest tier applies. MinTermPeriod: - description: >- - The unit of period (days, weeks, months - etc.) of the Minimum Term type: string + description: The unit of period (days, weeks, + months etc.) of the Minimum Term enum: - - PACT - - PDAY - - PHYR - - PMTH - - PQTR - - PWEK - - PYER + - PACT + - PDAY + - PHYR + - PMTH + - PQTR + - PWEK + - PYER TierValueMaxTerm: - description: >- - Maximum loan term for which the loan - interest tier applies. type: integer + description: Maximum loan term for which the + loan interest tier applies. MaxTermPeriod: - description: >- - The unit of period (days, weeks, months - etc.) of the Maximum Term type: string + description: The unit of period (days, weeks, + months etc.) of the Maximum Term enum: - - PACT - - PDAY - - PHYR - - PMTH - - PQTR - - PWEK - - PYER + - PACT + - PDAY + - PHYR + - PMTH + - PQTR + - PWEK + - PYER FixedVariableInterestRateType: - $ref: >- - #/components/schemas/OB_InterestFixedVariableType1Code + $ref: '#/components/schemas/OB_InterestFixedVariableType1Code' RepAPR: - description: >- - The annual equivalent rate (AER) is - interest that is calculated under the - assumption that any interest paid is - combined with the original balance and - the next interest payment will be based - on the slightly higher account balance. - Overall, this means that interest can be - compounded several times in a year - depending on the number of times that - interest payments are made. - - For SME Loan, this APR is the - representative APR which includes any - account fees. + pattern: ^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$' + description: "The annual equivalent rate (AER)\ + \ is interest that is calculated under the\ + \ assumption that any interest paid is combined\ + \ with the original balance and the next\ + \ interest payment will be based on the\ + \ slightly higher account balance. Overall,\ + \ this means that interest can be compounded\ + \ several times in a year depending on the\ + \ number of times that interest payments\ + \ are made. \nFor SME Loan, this APR is\ + \ the representative APR which includes\ + \ any account fees." LoanProviderInterestRateType: - description: >- - Interest rate types, other than APR, - which financial institutions may use to - describe the annual interest rate - payable for the SME Loan. type: string + description: Interest rate types, other than + APR, which financial institutions may use + to describe the annual interest rate payable + for the SME Loan. enum: - - INBB - - INFR - - INGR - - INLR - - INNE - - INOT + - INBB + - INFR + - INGR + - INLR + - INNE + - INOT LoanProviderInterestRate: - description: >- - Loan provider Interest for the SME Loan - product + pattern: ^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$' + description: Loan provider Interest for the + SME Loan product Notes: type: array items: - description: >- - Optional additional notes to supplement - the Tier Band details - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional notes to + supplement the Tier Band details OtherLoanProviderInterestRateType: - type: object required: - - Name - - Description - description: >- - Other loan interest rate types which are - not available in the standard code list + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -9357,94 +11725,86 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other loan interest rate types + which are not available in the standard + code list LoanInterestFeesCharges: type: array items: - type: object - description: >- - Contains details of fees and charges - which are not associated with either - LoanRepayment or features/benefits required: - - LoanInterestFeeChargeDetail + - LoanInterestFeeChargeDetail + type: object properties: LoanInterestFeeChargeDetail: + minItems: 1 type: array items: - type: object - description: Other fees/charges details required: - - FeeType - - ApplicationFrequency - - CalculationFrequency + - ApplicationFrequency + - CalculationFrequency + - FeeType + type: object properties: FeeType: $ref: '#/components/schemas/OB_FeeType1Code' NegotiableIndicator: - description: >- - Fee/charge which is usually negotiable - rather than a fixed amount type: boolean + description: Fee/charge which + is usually negotiable rather + than a fixed amount FeeAmount: $ref: '#/components/schemas/OB_Amount1_3' FeeRate: $ref: '#/components/schemas/OB_Rate1_1' FeeRateType: - $ref: >- - #/components/schemas/OB_InterestRateType1Code_1 + $ref: '#/components/schemas/OB_InterestRateType1Code_1' ApplicationFrequency: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_2 + $ref: '#/components/schemas/OB_FeeFrequency1Code_2' CalculationFrequency: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_3 + $ref: '#/components/schemas/OB_FeeFrequency1Code_3' Notes: type: array items: - description: >- - Optional additional notes to supplement - the fee/charge details. - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional + notes to supplement the fee/charge + details. OtherFeeType: - $ref: >- - #/components/schemas/OB_OtherFeeChargeDetailType + $ref: '#/components/schemas/OB_OtherFeeChargeDetailType' OtherFeeRateType: $ref: '#/components/schemas/OB_OtherCodeType1_5' OtherApplicationFrequency: $ref: '#/components/schemas/OB_OtherCodeType1_6' OtherCalculationFrequency: $ref: '#/components/schemas/OB_OtherCodeType1_7' - minItems: 1 + description: Other fees/charges details LoanInterestFeeChargeCap: type: array items: - type: object - description: >- - Details about any caps (minimum/maximum - charges) that apply to a particular - fee/charge required: - - FeeType - - MinMaxType + - FeeType + - MinMaxType + type: object properties: FeeType: + minItems: 1 type: array items: - description: Fee/charge type which is being capped type: string + description: Fee/charge type + which is being capped enum: - - FEPF - - FTOT - - FYAF - - FYAM - - FYAQ - - FYCP - - FYDB - - FYMI - - FYXX - minItems: 1 + - FEPF + - FTOT + - FYAF + - FYAM + - FYAQ + - FYCP + - FYDB + - FYMI + - FYXX MinMaxType: $ref: '#/components/schemas/OB_MinMaxType1Code' FeeCapOccurrence: @@ -9452,27 +11812,22 @@ components: FeeCapAmount: $ref: '#/components/schemas/OB_Amount1_4' CappingPeriod: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_4 + $ref: '#/components/schemas/OB_FeeFrequency1Code_4' Notes: type: array items: - description: >- - Free text for adding extra details for - fee charge cap - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Free text for adding extra + details for fee charge cap OtherFeeType: type: array items: - type: object - description: >- - Other fee type code which is not - available in the standard code set required: - - Name - - Description + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -9480,95 +11835,91 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' - minItems: 1 + description: Other fee type + code which is not available + in the standard code set + description: Details about any caps + (minimum/maximum charges) that apply + to a particular fee/charge + description: Contains details of fees and + charges which are not associated with + either LoanRepayment or features/benefits + description: Tier Band Details LoanInterestFeesCharges: type: array items: - type: object - description: >- - Contains details of fees and charges which - are not associated with either - LoanRepayment or features/benefits required: - - LoanInterestFeeChargeDetail + - LoanInterestFeeChargeDetail + type: object properties: LoanInterestFeeChargeDetail: + minItems: 1 type: array items: - type: object - description: Other fees/charges details required: - - FeeType - - ApplicationFrequency - - CalculationFrequency + - ApplicationFrequency + - CalculationFrequency + - FeeType + type: object properties: FeeType: $ref: '#/components/schemas/OB_FeeType1Code' NegotiableIndicator: - description: >- - Fee/charge which is usually negotiable - rather than a fixed amount type: boolean + description: Fee/charge which is usually + negotiable rather than a fixed amount FeeAmount: $ref: '#/components/schemas/OB_Amount1_3' FeeRate: $ref: '#/components/schemas/OB_Rate1_1' FeeRateType: - $ref: >- - #/components/schemas/OB_InterestRateType1Code_1 + $ref: '#/components/schemas/OB_InterestRateType1Code_1' ApplicationFrequency: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_2 + $ref: '#/components/schemas/OB_FeeFrequency1Code_2' CalculationFrequency: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_3 + $ref: '#/components/schemas/OB_FeeFrequency1Code_3' Notes: type: array items: - description: >- - Optional additional notes to supplement - the fee/charge details. - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional notes + to supplement the fee/charge details. OtherFeeType: - $ref: >- - #/components/schemas/OB_OtherFeeChargeDetailType + $ref: '#/components/schemas/OB_OtherFeeChargeDetailType' OtherFeeRateType: $ref: '#/components/schemas/OB_OtherCodeType1_5' OtherApplicationFrequency: $ref: '#/components/schemas/OB_OtherCodeType1_6' OtherCalculationFrequency: $ref: '#/components/schemas/OB_OtherCodeType1_7' - minItems: 1 + description: Other fees/charges details LoanInterestFeeChargeCap: type: array items: - type: object - description: >- - Details about any caps (minimum/maximum - charges) that apply to a particular - fee/charge required: - - FeeType - - MinMaxType + - FeeType + - MinMaxType + type: object properties: FeeType: + minItems: 1 type: array items: - description: Fee/charge type which is being capped type: string + description: Fee/charge type which + is being capped enum: - - FEPF - - FTOT - - FYAF - - FYAM - - FYAQ - - FYCP - - FYDB - - FYMI - - FYXX - minItems: 1 + - FEPF + - FTOT + - FYAF + - FYAM + - FYAQ + - FYCP + - FYDB + - FYMI + - FYXX MinMaxType: $ref: '#/components/schemas/OB_MinMaxType1Code' FeeCapOccurrence: @@ -9576,27 +11927,22 @@ components: FeeCapAmount: $ref: '#/components/schemas/OB_Amount1_4' CappingPeriod: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_4 + $ref: '#/components/schemas/OB_FeeFrequency1Code_4' Notes: type: array items: - description: >- - Free text for adding extra details for - fee charge cap - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Free text for adding extra + details for fee charge cap OtherFeeType: type: array items: - type: object - description: >- - Other fee type code which is not - available in the standard code set required: - - Name - - Description + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -9604,72 +11950,77 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' - minItems: 1 + description: Other fee type code which + is not available in the standard + code set + description: Details about any caps (minimum/maximum + charges) that apply to a particular fee/charge + description: Contains details of fees and charges + which are not associated with either LoanRepayment + or features/benefits + description: The group of tiers or bands for which debit + interest can be applied. + description: Details about the interest that may be payable + to the SME Loan holders Repayment: type: object - description: Repayment details of the Loan product properties: RepaymentType: - description: Repayment type type: string + description: Repayment type enum: - - USBA - - USBU - - USCI - - USCS - - USER - - USFA - - USFB - - USFI - - USIO - - USOT - - USPF - - USRW - - USSL + - USBA + - USBU + - USCI + - USCS + - USER + - USFA + - USFB + - USFI + - USIO + - USOT + - USPF + - USRW + - USSL RepaymentFrequency: - description: Repayment frequency type: string + description: Repayment frequency enum: - - SMDA - - SMFL - - SMFO - - SMHY - - SMMO - - SMOT - - SMQU - - SMWE - - SMYE + - SMDA + - SMFL + - SMFO + - SMHY + - SMMO + - SMOT + - SMQU + - SMWE + - SMYE AmountType: - description: >- - The repayment is for paying just the interest only - or both interest and capital or bullet amount or - balance to date etc type: string + description: The repayment is for paying just the interest + only or both interest and capital or bullet amount or + balance to date etc enum: - - RABD - - RABL - - RACI - - RAFC - - RAIO - - RALT - - USOT + - RABD + - RABL + - RACI + - RAFC + - RAIO + - RALT + - USOT Notes: type: array items: - description: >- - Optional additional notes to supplement the - Repayment - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional notes to supplement + the Repayment OtherRepaymentType: - type: object required: - - Name - - Description - description: >- - Other repayment type which is not in the standard - code list + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -9677,14 +12028,13 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other repayment type which is not in the + standard code list OtherRepaymentFrequency: - type: object required: - - Name - - Description - description: >- - Other repayment frequency which is not in the - standard code list + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -9692,14 +12042,13 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other repayment frequency which is not in + the standard code list OtherAmountType: - type: object required: - - Name - - Description - description: >- - Other amount type which is not in the standard - code list + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -9707,93 +12056,82 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other amount type which is not in the standard + code list RepaymentFeeCharges: - type: object required: - - RepaymentFeeChargeDetail - description: >- - Applicable fee/charges for repayment such as - prepayment, full early repayment or non repayment. + - RepaymentFeeChargeDetail + type: object properties: RepaymentFeeChargeDetail: + minItems: 1 type: array items: + required: + - ApplicationFrequency + - CalculationFrequency + - FeeType type: object - description: >- - Details about specific fees/charges that are - applied for repayment - required: - - FeeType - - ApplicationFrequency - - CalculationFrequency properties: FeeType: $ref: '#/components/schemas/OB_FeeType1Code' NegotiableIndicator: - description: >- - Fee/charge which is usually negotiable - rather than a fixed amount type: boolean + description: Fee/charge which is usually negotiable + rather than a fixed amount FeeAmount: $ref: '#/components/schemas/OB_Amount1_3' FeeRate: $ref: '#/components/schemas/OB_Rate1_1' FeeRateType: - $ref: >- - #/components/schemas/OB_InterestRateType1Code_1 + $ref: '#/components/schemas/OB_InterestRateType1Code_1' ApplicationFrequency: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_2 + $ref: '#/components/schemas/OB_FeeFrequency1Code_2' CalculationFrequency: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_3 + $ref: '#/components/schemas/OB_FeeFrequency1Code_3' Notes: type: array items: - description: >- - Optional additional notes to supplement - the fee/charge details. - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional notes to + supplement the fee/charge details. OtherFeeType: - $ref: >- - #/components/schemas/OB_OtherFeeChargeDetailType + $ref: '#/components/schemas/OB_OtherFeeChargeDetailType' OtherFeeRateType: $ref: '#/components/schemas/OB_OtherCodeType1_8' OtherApplicationFrequency: $ref: '#/components/schemas/OB_OtherCodeType1_6' OtherCalculationFrequency: $ref: '#/components/schemas/OB_OtherCodeType1_7' - minItems: 1 + description: Details about specific fees/charges + that are applied for repayment RepaymentFeeChargeCap: type: array items: - type: object - description: >- - RepaymentFeeChargeCap sets daily, weekly, - monthly, yearly limits on the fees that are - charged required: - - FeeType - - MinMaxType + - FeeType + - MinMaxType + type: object properties: FeeType: + minItems: 1 type: array items: - description: Fee/charge type which is being capped type: string + description: Fee/charge type which is being + capped enum: - - FEPF - - FTOT - - FYAF - - FYAM - - FYAQ - - FYCP - - FYDB - - FYMI - - FYXX - minItems: 1 + - FEPF + - FTOT + - FYAF + - FYAM + - FYAQ + - FYCP + - FYDB + - FYMI + - FYXX MinMaxType: $ref: '#/components/schemas/OB_MinMaxType1Code' FeeCapOccurrence: @@ -9805,22 +12143,18 @@ components: Notes: type: array items: - description: >- - Free text for adding extra details for - fee charge cap - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Free text for adding extra details + for fee charge cap OtherFeeType: type: array items: - type: object - description: >- - Other fee type code which is not - available in the standard code set required: - - Name - - Description + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -9828,70 +12162,68 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other fee type code which is + not available in the standard code set + description: RepaymentFeeChargeCap sets daily, weekly, + monthly, yearly limits on the fees that are charged + description: Applicable fee/charges for repayment such + as prepayment, full early repayment or non repayment. RepaymentHoliday: type: array items: type: object - description: Details of capital repayment holiday if any properties: MaxHolidayLength: - description: >- - The maximum length/duration of a Repayment - Holiday type: integer + description: The maximum length/duration of a Repayment + Holiday MaxHolidayPeriod: - description: >- - The unit of period (days, weeks, months - etc.) of the repayment holiday type: string + description: The unit of period (days, weeks, months + etc.) of the repayment holiday enum: - - PACT - - PDAY - - PHYR - - PMTH - - PQTR - - PWEK - - PYER + - PACT + - PDAY + - PHYR + - PMTH + - PQTR + - PWEK + - PYER Notes: type: array items: - description: >- - Free text for adding details for repayment - holiday - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Free text for adding details for + repayment holiday + description: Details of capital repayment holiday if + any + description: Repayment details of the Loan product OtherFeesCharges: type: array items: - type: object - description: >- - Contains details of fees and charges which are not - associated with either Overdraft or - features/benefits required: - - FeeChargeDetail + - FeeChargeDetail + type: object properties: TariffType: - description: TariffType which defines the fee and charges. type: string + description: TariffType which defines the fee and charges. enum: - - TTEL - - TTMX - - TTOT + - TTEL + - TTMX + - TTOT TariffName: - description: Name of the tariff - type: string - minLength: 1 maxLength: 350 + minLength: 1 + type: string + description: Name of the tariff OtherTariffType: - type: object required: - - Name - - Description - description: >- - Other tariff type which is not in the standard - list. + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -9899,75 +12231,69 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other tariff type which is not in the standard + list. FeeChargeDetail: + minItems: 1 type: array items: - type: object - description: Other fees/charges details required: - - FeeCategory - - FeeType - - ApplicationFrequency + - ApplicationFrequency + - FeeCategory + - FeeType + type: object properties: FeeCategory: $ref: '#/components/schemas/OB_FeeCategory1Code' FeeType: $ref: '#/components/schemas/OB_FeeType1Code' NegotiableIndicator: - description: >- - Fee/charge which is usually negotiable - rather than a fixed amount type: boolean + description: Fee/charge which is usually negotiable + rather than a fixed amount FeeAmount: $ref: '#/components/schemas/OB_Amount1_3' FeeRate: $ref: '#/components/schemas/OB_Rate1_1' FeeRateType: - $ref: >- - #/components/schemas/OB_InterestRateType1Code_1 + $ref: '#/components/schemas/OB_InterestRateType1Code_1' ApplicationFrequency: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_2 + $ref: '#/components/schemas/OB_FeeFrequency1Code_2' CalculationFrequency: - $ref: >- - #/components/schemas/OB_FeeFrequency1Code_3 + $ref: '#/components/schemas/OB_FeeFrequency1Code_3' Notes: type: array items: - description: >- - Optional additional notes to supplement - the fee/charge details. - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Optional additional notes to supplement + the fee/charge details. FeeChargeCap: type: array items: - type: object - description: >- - Details about any caps (maximum charges) - that apply to a particular or group of - fee/charge required: - - FeeType - - MinMaxType + - FeeType + - MinMaxType + type: object properties: FeeType: + minItems: 1 type: array items: - description: Fee/charge type which is being capped type: string + description: Fee/charge type which is + being capped enum: - - FEPF - - FTOT - - FYAF - - FYAM - - FYAQ - - FYCP - - FYDB - - FYMI - - FYXX - minItems: 1 + - FEPF + - FTOT + - FYAF + - FYAM + - FYAQ + - FYCP + - FYDB + - FYMI + - FYXX MinMaxType: $ref: '#/components/schemas/OB_MinMaxType1Code' FeeCapOccurrence: @@ -9979,22 +12305,18 @@ components: Notes: type: array items: - description: >- - Free text for adding extra details for - fee charge cap - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Free text for adding extra + details for fee charge cap OtherFeeType: type: array items: - type: object - description: >- - Other fee type code which is not - available in the standard code set required: - - Name - - Description + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -10002,11 +12324,16 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other fee type code which + is not available in the standard code + set + description: Details about any caps (maximum + charges) that apply to a particular or group + of fee/charge OtherFeeCategoryType: $ref: '#/components/schemas/OB_OtherCodeType1_0' OtherFeeType: - $ref: >- - #/components/schemas/OB_OtherFeeChargeDetailType + $ref: '#/components/schemas/OB_OtherFeeChargeDetailType' OtherFeeRateType: $ref: '#/components/schemas/OB_OtherCodeType1_8' OtherApplicationFrequency: @@ -10015,66 +12342,59 @@ components: $ref: '#/components/schemas/OB_OtherCodeType1_7' FeeApplicableRange: type: object - description: >- - Range or amounts or rates for which the - fee/charge applies properties: MinimumAmount: - description: >- - Minimum Amount on which fee/charge is - applicable (where it is expressed as an - amount) + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: Minimum Amount on which fee/charge + is applicable (where it is expressed as + an amount) MaximumAmount: - description: >- - Maximum Amount on which fee is + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ + type: string + description: Maximum Amount on which fee is applicable (where it is expressed as an amount) - type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' MinimumRate: - description: >- - Minimum rate on which fee/charge is - applicable(where it is expressed as an - rate) + pattern: ^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$' - MaximumRate: - description: >- - Maximum rate on which fee/charge is - applicable(where it is expressed as an + description: Minimum rate on which fee/charge + is applicable(where it is expressed as an rate) + MaximumRate: + pattern: ^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$' - minItems: 1 + description: Maximum rate on which fee/charge + is applicable(where it is expressed as an + rate) + description: Range or amounts or rates for which + the fee/charge applies + description: Other fees/charges details FeeChargeCap: type: array items: - type: object - description: >- - Details about any caps (maximum charges) that - apply to a particular or group of fee/charge required: - - FeeType - - MinMaxType + - FeeType + - MinMaxType + type: object properties: FeeType: + minItems: 1 type: array items: - description: Fee/charge type which is being capped type: string + description: Fee/charge type which is being + capped enum: - - FEPF - - FTOT - - FYAF - - FYAM - - FYAQ - - FYCP - - FYDB - - FYMI - - FYXX - minItems: 1 + - FEPF + - FTOT + - FYAF + - FYAM + - FYAQ + - FYCP + - FYDB + - FYMI + - FYXX MinMaxType: $ref: '#/components/schemas/OB_MinMaxType1Code' FeeCapOccurrence: @@ -10086,22 +12406,18 @@ components: Notes: type: array items: - description: >- - Free text for adding extra details for - fee charge cap - type: string - minLength: 1 maxLength: 2000 + minLength: 1 + type: string + description: Free text for adding extra details + for fee charge cap OtherFeeType: type: array items: - type: object - description: >- - Other fee type code which is not - available in the standard code set required: - - Name - - Description + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -10109,21 +12425,31 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' + description: Other fee type code which is not + available in the standard code set + description: Details about any caps (maximum charges) + that apply to a particular or group of fee/charge + description: Contains details of fees and charges which + are not associated with either Overdraft or features/benefits SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: Other product type details associated with the account. BCA: $ref: '#/components/schemas/OBBCAData1' PCA: $ref: '#/components/schemas/OBPCAData1' + description: Product details associated with the Account + description: Aligning with the read write specs structure. Links: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false + description: Product details of Other Product which is not avaiable in the standard + list OBReadScheduledPayment3: - type: object required: - - Data + - Data + type: object properties: Data: type: object @@ -10136,11 +12462,10 @@ components: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBReadStandingOrder6: - type: object required: - - Data + - Data + type: object properties: Data: type: object @@ -10153,11 +12478,10 @@ components: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBReadStatement2: - type: object required: - - Data + - Data + type: object properties: Data: $ref: '#/components/schemas/OBReadDataStatement2' @@ -10165,11 +12489,10 @@ components: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBReadTransaction6: - type: object required: - - Data + - Data + type: object properties: Data: $ref: '#/components/schemas/OBReadDataTransaction6' @@ -10177,25 +12500,43 @@ components: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBRisk2: - description: >- - The Risk section is sent by the initiating party to the ASPSP. It is - used to specify additional details for risk scoring for Account Info. type: object - properties: {} - additionalProperties: false + description: The Risk section is sent by the initiating party to the ASPSP. + It is used to specify additional details for risk scoring for Account Info. OBScheduledPayment3: - oneOf: - - $ref: '#/components/schemas/OBScheduledPayment3Basic' - - $ref: '#/components/schemas/OBScheduledPayment3Detail' - OBScheduledPayment3Basic: + required: + - AccountId + - InstructedAmount + - ScheduledPaymentDateTime + - ScheduledType type: object + properties: + AccountId: + $ref: '#/components/schemas/AccountId' + ScheduledPaymentId: + $ref: '#/components/schemas/ScheduledPaymentId' + ScheduledPaymentDateTime: + $ref: '#/components/schemas/ScheduledPaymentDateTime' + ScheduledType: + $ref: '#/components/schemas/OBExternalScheduleType1Code' + Reference: + $ref: '#/components/schemas/Reference' + DebtorReference: + $ref: '#/components/schemas/DebtorReference' + InstructedAmount: + $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_1' + CreditorAgent: + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_1' + CreditorAccount: + $ref: '#/components/schemas/OBCashAccount5_1' + OBScheduledPayment3Basic: required: - - AccountId - - ScheduledPaymentDateTime - - ScheduledType - - InstructedAmount + - AccountId + - InstructedAmount + - ScheduledPaymentDateTime + - ScheduledType + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -10211,15 +12552,14 @@ components: $ref: '#/components/schemas/DebtorReference' InstructedAmount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_1' - additionalProperties: false OBScheduledPayment3Detail: - type: object required: - - AccountId - - ScheduledPaymentDateTime - - ScheduledType - - InstructedAmount - - CreditorAccount + - AccountId + - CreditorAccount + - InstructedAmount + - ScheduledPaymentDateTime + - ScheduledType + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -10236,20 +12576,54 @@ components: InstructedAmount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_1' CreditorAgent: - $ref: >- - #/components/schemas/OBBranchAndFinancialInstitutionIdentification5_1 + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_1' CreditorAccount: $ref: '#/components/schemas/OBCashAccount5_1' - additionalProperties: false OBStandingOrder6: - oneOf: - - $ref: '#/components/schemas/OBStandingOrder6Basic' - - $ref: '#/components/schemas/OBStandingOrder6Detail' - OBStandingOrder6Basic: + required: + - AccountId + - Frequency type: object + properties: + AccountId: + $ref: '#/components/schemas/AccountId' + StandingOrderId: + $ref: '#/components/schemas/StandingOrderId' + Frequency: + $ref: '#/components/schemas/Frequency_1' + Reference: + $ref: '#/components/schemas/Reference' + FirstPaymentDateTime: + $ref: '#/components/schemas/FirstPaymentDateTime' + NextPaymentDateTime: + $ref: '#/components/schemas/NextPaymentDateTime' + LastPaymentDateTime: + $ref: '#/components/schemas/LastPaymentDateTime' + FinalPaymentDateTime: + $ref: '#/components/schemas/FinalPaymentDateTime' + NumberOfPayments: + $ref: '#/components/schemas/NumberOfPayments' + StandingOrderStatusCode: + $ref: '#/components/schemas/OBExternalStandingOrderStatus1Code' + FirstPaymentAmount: + $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_2' + NextPaymentAmount: + $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_3' + LastPaymentAmount: + $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_11' + FinalPaymentAmount: + $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_4' + CreditorAgent: + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_1' + CreditorAccount: + $ref: '#/components/schemas/OBCashAccount5_1' + SupplementaryData: + $ref: '#/components/schemas/OBSupplementaryData1' + OBStandingOrder6Basic: required: - - AccountId - - Frequency + - AccountId + - Frequency + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -10281,13 +12655,12 @@ components: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_4' SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' - additionalProperties: false OBStandingOrder6Detail: - type: object required: - - AccountId - - Frequency - - CreditorAccount + - AccountId + - CreditorAccount + - Frequency + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -10318,26 +12691,174 @@ components: FinalPaymentAmount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_4' CreditorAgent: - $ref: >- - #/components/schemas/OBBranchAndFinancialInstitutionIdentification5_1 + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification5_1' CreditorAccount: $ref: '#/components/schemas/OBCashAccount5_1' SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' - additionalProperties: false OBStatement2: - oneOf: - - $ref: '#/components/schemas/OBStatement2Basic' - - $ref: '#/components/schemas/OBStatement2Detail' - OBStatement2Basic: + required: + - AccountId + - CreationDateTime + - EndDateTime + - StartDateTime + - Type type: object + properties: + AccountId: + $ref: '#/components/schemas/AccountId' + StatementId: + $ref: '#/components/schemas/StatementId' + StatementReference: + $ref: '#/components/schemas/StatementReference' + Type: + $ref: '#/components/schemas/OBExternalStatementType1Code' + StartDateTime: + $ref: '#/components/schemas/StartDateTime' + EndDateTime: + $ref: '#/components/schemas/EndDateTime' + CreationDateTime: + $ref: '#/components/schemas/CreationDateTime' + StatementDescription: + type: array + items: + maxLength: 500 + minLength: 1 + type: string + description: Other descriptions that may be available for the statement + resource. + StatementBenefit: + type: array + items: + required: + - Amount + - Type + type: object + properties: + Type: + $ref: '#/components/schemas/OBExternalStatementBenefitType1Code' + Amount: + $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_5' + description: Set of elements used to provide details of a benefit or reward + amount for the statement resource. + StatementFee: + type: array + items: + required: + - Amount + - CreditDebitIndicator + - Type + type: object + properties: + Description: + $ref: '#/components/schemas/Description_1' + CreditDebitIndicator: + $ref: '#/components/schemas/OBCreditDebitCode_0' + Type: + $ref: '#/components/schemas/OBExternalStatementFeeType1Code' + Rate: + $ref: '#/components/schemas/OBRate1_0' + RateType: + $ref: '#/components/schemas/OBExternalStatementFeeRateType1Code' + Frequency: + $ref: '#/components/schemas/OBExternalStatementFeeFrequency1Code' + Amount: + $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_6' + description: Set of elements used to provide details of a fee for the + statement resource. + StatementInterest: + type: array + items: + required: + - Amount + - CreditDebitIndicator + - Type + type: object + properties: + Description: + $ref: '#/components/schemas/Description_2' + CreditDebitIndicator: + $ref: '#/components/schemas/OBCreditDebitCode_0' + Type: + $ref: '#/components/schemas/OBExternalStatementInterestType1Code' + Rate: + $ref: '#/components/schemas/OBRate1_1' + RateType: + $ref: '#/components/schemas/OBExternalStatementInterestRateType1Code' + Frequency: + $ref: '#/components/schemas/OBExternalStatementInterestFrequency1Code' + Amount: + $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_7' + description: Set of elements used to provide details of a generic interest + amount related to the statement resource. + StatementAmount: + type: array + items: + required: + - Amount + - CreditDebitIndicator + - Type + type: object + properties: + CreditDebitIndicator: + $ref: '#/components/schemas/OBCreditDebitCode_0' + Type: + $ref: '#/components/schemas/OBExternalStatementAmountType1Code' + Amount: + $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8' + description: Set of elements used to provide details of a generic amount + for the statement resource. + StatementDateTime: + type: array + items: + required: + - DateTime + - Type + type: object + properties: + DateTime: + $ref: '#/components/schemas/DateTime' + Type: + $ref: '#/components/schemas/OBExternalStatementDateTimeType1Code' + description: Set of elements used to provide details of a generic date + time for the statement resource. + StatementRate: + type: array + items: + required: + - Rate + - Type + type: object + properties: + Rate: + $ref: '#/components/schemas/Rate' + Type: + $ref: '#/components/schemas/OBExternalStatementRateType1Code' + description: Set of elements used to provide details of a generic rate + related to the statement resource. + StatementValue: + type: array + items: + required: + - Type + - Value + type: object + properties: + Value: + $ref: '#/components/schemas/Value' + Type: + $ref: '#/components/schemas/OBExternalStatementValueType1Code' + description: Set of elements used to provide details of a generic number + value related to the statement resource. description: Provides further details on a statement resource. + OBStatement2Basic: required: - - AccountId - - Type - - StartDateTime - - EndDateTime - - CreationDateTime + - AccountId + - CreationDateTime + - EndDateTime + - StartDateTime + - Type + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -10356,38 +12877,33 @@ components: StatementDescription: type: array items: - description: >- - Other descriptions that may be available for the statement - resource. - type: string - minLength: 1 maxLength: 500 + minLength: 1 + type: string + description: Other descriptions that may be available for the statement + resource. StatementBenefit: type: array items: - type: object - description: >- - Set of elements used to provide details of a benefit or reward - amount for the statement resource. required: - - Type - - Amount + - Amount + - Type + type: object properties: Type: $ref: '#/components/schemas/OBExternalStatementBenefitType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_5' + description: Set of elements used to provide details of a benefit or reward + amount for the statement resource. StatementFee: type: array items: - type: object - description: >- - Set of elements used to provide details of a fee for the statement - resource. required: - - CreditDebitIndicator - - Type - - Amount + - Amount + - CreditDebitIndicator + - Type + type: object properties: Description: $ref: '#/components/schemas/Description_1' @@ -10403,17 +12919,16 @@ components: $ref: '#/components/schemas/OBExternalStatementFeeFrequency1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_6' + description: Set of elements used to provide details of a fee for the + statement resource. StatementInterest: type: array items: - type: object - description: >- - Set of elements used to provide details of a generic interest - amount related to the statement resource. required: - - CreditDebitIndicator - - Type - - Amount + - Amount + - CreditDebitIndicator + - Type + type: object properties: Description: $ref: '#/components/schemas/Description_2' @@ -10429,61 +12944,59 @@ components: $ref: '#/components/schemas/OBExternalStatementInterestFrequency1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_7' + description: Set of elements used to provide details of a generic interest + amount related to the statement resource. StatementDateTime: type: array items: - type: object - description: >- - Set of elements used to provide details of a generic date time for - the statement resource. required: - - DateTime - - Type + - DateTime + - Type + type: object properties: DateTime: $ref: '#/components/schemas/DateTime' Type: $ref: '#/components/schemas/OBExternalStatementDateTimeType1Code' + description: Set of elements used to provide details of a generic date + time for the statement resource. StatementRate: type: array items: - type: object - description: >- - Set of elements used to provide details of a generic rate related - to the statement resource. required: - - Rate - - Type + - Rate + - Type + type: object properties: Rate: $ref: '#/components/schemas/Rate' Type: $ref: '#/components/schemas/OBExternalStatementRateType1Code' + description: Set of elements used to provide details of a generic rate + related to the statement resource. StatementValue: type: array items: - type: object - description: >- - Set of elements used to provide details of a generic number value - related to the statement resource. required: - - Value - - Type + - Type + - Value + type: object properties: Value: $ref: '#/components/schemas/Value' Type: $ref: '#/components/schemas/OBExternalStatementValueType1Code' - additionalProperties: false - OBStatement2Detail: - type: object + description: Set of elements used to provide details of a generic number + value related to the statement resource. description: Provides further details on a statement resource. + OBStatement2Detail: required: - - AccountId - - Type - - StartDateTime - - EndDateTime - - CreationDateTime + - AccountId + - CreationDateTime + - EndDateTime + - StartDateTime + - Type + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -10502,38 +13015,33 @@ components: StatementDescription: type: array items: - description: >- - Other descriptions that may be available for the statement - resource. - type: string - minLength: 1 maxLength: 500 + minLength: 1 + type: string + description: Other descriptions that may be available for the statement + resource. StatementBenefit: type: array items: - type: object - description: >- - Set of elements used to provide details of a benefit or reward - amount for the statement resource. required: - - Type - - Amount + - Amount + - Type + type: object properties: Type: $ref: '#/components/schemas/OBExternalStatementBenefitType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_5' + description: Set of elements used to provide details of a benefit or reward + amount for the statement resource. StatementFee: type: array items: - type: object - description: >- - Set of elements used to provide details of a fee for the statement - resource. required: - - CreditDebitIndicator - - Type - - Amount + - Amount + - CreditDebitIndicator + - Type + type: object properties: Description: $ref: '#/components/schemas/Description_1' @@ -10549,17 +13057,16 @@ components: $ref: '#/components/schemas/OBExternalStatementFeeFrequency1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_6' + description: Set of elements used to provide details of a fee for the + statement resource. StatementInterest: type: array items: - type: object - description: >- - Set of elements used to provide details of a generic interest - amount related to the statement resource. required: - - CreditDebitIndicator - - Type - - Amount + - Amount + - CreditDebitIndicator + - Type + type: object properties: Description: $ref: '#/components/schemas/Description_2' @@ -10575,17 +13082,16 @@ components: $ref: '#/components/schemas/OBExternalStatementInterestFrequency1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_7' + description: Set of elements used to provide details of a generic interest + amount related to the statement resource. StatementAmount: type: array items: - type: object - description: >- - Set of elements used to provide details of a generic amount for - the statement resource. required: - - CreditDebitIndicator - - Type - - Amount + - Amount + - CreditDebitIndicator + - Type + type: object properties: CreditDebitIndicator: $ref: '#/components/schemas/OBCreditDebitCode_0' @@ -10593,72 +13099,123 @@ components: $ref: '#/components/schemas/OBExternalStatementAmountType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8' + description: Set of elements used to provide details of a generic amount + for the statement resource. StatementDateTime: type: array items: - type: object - description: >- - Set of elements used to provide details of a generic date time for - the statement resource. required: - - DateTime - - Type + - DateTime + - Type + type: object properties: DateTime: $ref: '#/components/schemas/DateTime' Type: $ref: '#/components/schemas/OBExternalStatementDateTimeType1Code' + description: Set of elements used to provide details of a generic date + time for the statement resource. StatementRate: type: array items: - type: object - description: >- - Set of elements used to provide details of a generic rate related - to the statement resource. required: - - Rate - - Type + - Rate + - Type + type: object properties: Rate: $ref: '#/components/schemas/Rate' Type: $ref: '#/components/schemas/OBExternalStatementRateType1Code' + description: Set of elements used to provide details of a generic rate + related to the statement resource. StatementValue: type: array items: - type: object - description: >- - Set of elements used to provide details of a generic number value - related to the statement resource. required: - - Value - - Type + - Type + - Value + type: object properties: Value: $ref: '#/components/schemas/Value' Type: $ref: '#/components/schemas/OBExternalStatementValueType1Code' - additionalProperties: false + description: Set of elements used to provide details of a generic number + value related to the statement resource. + description: Provides further details on a statement resource. OBSupplementaryData1: type: object - properties: {} - additionalProperties: true - description: >- - Additional information that can not be captured in the structured fields - and/or any other specific block. + description: Additional information that can not be captured in the structured + fields and/or any other specific block. OBTransaction6: - oneOf: - - $ref: '#/components/schemas/OBTransaction6Basic' - - $ref: '#/components/schemas/OBTransaction6Detail' - OBTransaction6Basic: + required: + - AccountId + - Amount + - BookingDateTime + - CreditDebitIndicator + - Status type: object + properties: + AccountId: + $ref: '#/components/schemas/AccountId' + TransactionId: + $ref: '#/components/schemas/TransactionId' + TransactionReference: + $ref: '#/components/schemas/TransactionReference' + StatementReference: + type: array + items: + $ref: '#/components/schemas/StatementReference' + CreditDebitIndicator: + $ref: '#/components/schemas/OBCreditDebitCode_1' + Status: + $ref: '#/components/schemas/OBEntryStatus1Code' + TransactionMutability: + $ref: '#/components/schemas/OBTransactionMutability1Code' + BookingDateTime: + $ref: '#/components/schemas/BookingDateTime' + ValueDateTime: + $ref: '#/components/schemas/ValueDateTime' + TransactionInformation: + $ref: '#/components/schemas/TransactionInformation' + AddressLine: + $ref: '#/components/schemas/AddressLine' + Amount: + $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_9' + ChargeAmount: + $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_10' + CurrencyExchange: + $ref: '#/components/schemas/OBCurrencyExchange5' + BankTransactionCode: + $ref: '#/components/schemas/OBBankTransactionCodeStructure1' + ProprietaryBankTransactionCode: + $ref: '#/components/schemas/ProprietaryBankTransactionCodeStructure1' + Balance: + $ref: '#/components/schemas/OBTransactionCashBalance' + MerchantDetails: + $ref: '#/components/schemas/OBMerchantDetails1' + CreditorAgent: + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification6_1' + CreditorAccount: + $ref: '#/components/schemas/OBCashAccount6_0' + DebtorAgent: + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification6_2' + DebtorAccount: + $ref: '#/components/schemas/OBCashAccount6_1' + CardInstrument: + $ref: '#/components/schemas/OBTransactionCardInstrument1' + SupplementaryData: + $ref: '#/components/schemas/OBSupplementaryData1' description: Provides further details on an entry in the report. + OBTransaction6Basic: required: - - AccountId - - CreditDebitIndicator - - Status - - BookingDateTime - - Amount + - AccountId + - Amount + - BookingDateTime + - CreditDebitIndicator + - Status + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -10696,16 +13253,15 @@ components: $ref: '#/components/schemas/OBTransactionCardInstrument1' SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' - additionalProperties: false - OBTransaction6Detail: - type: object description: Provides further details on an entry in the report. + OBTransaction6Detail: required: - - AccountId - - CreditDebitIndicator - - Status - - BookingDateTime - - Amount + - AccountId + - Amount + - BookingDateTime + - CreditDebitIndicator + - Status + type: object properties: AccountId: $ref: '#/components/schemas/AccountId' @@ -10746,311 +13302,299 @@ components: MerchantDetails: $ref: '#/components/schemas/OBMerchantDetails1' CreditorAgent: - $ref: >- - #/components/schemas/OBBranchAndFinancialInstitutionIdentification6_1 + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification6_1' CreditorAccount: $ref: '#/components/schemas/OBCashAccount6_0' DebtorAgent: - $ref: >- - #/components/schemas/OBBranchAndFinancialInstitutionIdentification6_2 + $ref: '#/components/schemas/OBBranchAndFinancialInstitutionIdentification6_2' DebtorAccount: $ref: '#/components/schemas/OBCashAccount6_1' CardInstrument: $ref: '#/components/schemas/OBTransactionCardInstrument1' SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' - additionalProperties: false + description: Provides further details on an entry in the report. OBTransactionCardInstrument1: - type: object required: - - CardSchemeName - description: Set of elements to describe the card instrument used in the transaction. + - CardSchemeName + type: object properties: CardSchemeName: - description: Name of the card scheme. type: string + description: Name of the card scheme. enum: - - AmericanExpress - - Diners - - Discover - - MasterCard - - VISA + - AmericanExpress + - Diners + - Discover + - MasterCard + - VISA AuthorisationType: - description: The card authorisation type. type: string + description: The card authorisation type. enum: - - ConsumerDevice - - Contactless - - None - - PIN + - ConsumerDevice + - Contactless + - None + - PIN Name: - description: Name of the cardholder using the card instrument. - type: string - minLength: 1 maxLength: 70 - Identification: - description: >- - Identification assigned by an institution to identify the card - instrument used in the transaction. This identification is known by - the account owner, and may be masked. - type: string minLength: 1 + type: string + description: Name of the cardholder using the card instrument. + Identification: maxLength: 34 - additionalProperties: false + minLength: 1 + type: string + description: Identification assigned by an institution to identify the card + instrument used in the transaction. This identification is known by the + account owner, and may be masked. + description: Set of elements to describe the card instrument used in the transaction. OBTransactionCashBalance: - type: object required: - - CreditDebitIndicator - - Type - - Amount - description: >- - Set of elements used to define the balance as a numerical representation - of the net increases and decreases in an account after a transaction - entry is applied to the account. + - Amount + - CreditDebitIndicator + - Type + type: object properties: CreditDebitIndicator: $ref: '#/components/schemas/OBCreditDebitCode_2' Type: $ref: '#/components/schemas/OBBalanceType1Code' Amount: - type: object required: - - Amount - - Currency - description: >- - Amount of money of the cash balance after a transaction entry is - applied to the account.. + - Amount + - Currency + type: object properties: Amount: $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' - additionalProperties: false + description: Amount of money of the cash balance after a transaction entry + is applied to the account.. + description: Set of elements used to define the balance as a numerical representation + of the net increases and decreases in an account after a transaction entry + is applied to the account. OB_Amount1_0: - description: Cap amount charged for a fee/charge + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge OB_Amount1_1: - description: >- - Every additional tranche of an overdraft balance to which an overdraft - fee is applied + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: Every additional tranche of an overdraft balance to which an overdraft + fee is applied OB_Amount1_2: - description: >- - Amount charged for an overdraft fee/charge (where it is charged in terms - of an amount rather than a rate) + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: Amount charged for an overdraft fee/charge (where it is charged + in terms of an amount rather than a rate) OB_Amount1_3: - description: >- - Fee Amount charged for a fee/charge (where it is charged in terms of an - amount rather than a rate) + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: Fee Amount charged for a fee/charge (where it is charged in terms + of an amount rather than a rate) OB_Amount1_4: - description: >- - Cap amount charged for a fee/charge (where it is charged in terms of an - amount rather than a rate) + pattern: ^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,14}){1}(\\.\\d{1,4}){0,1}$' + description: Cap amount charged for a fee/charge (where it is charged in terms + of an amount rather than a rate) OB_CodeMnemonic: - description: The four letter Mnemonic used within an XML file to identify a code + pattern: ^\\w{0,4}$ type: string - pattern: '^\\w{0,4}$' + description: The four letter Mnemonic used within an XML file to identify a + code OB_FeeCategory1Code: - description: Categorisation of fees and charges into standard categories. type: string + description: Categorisation of fees and charges into standard categories. enum: - - FCOT - - FCRE - - FCSV + - FCOT + - FCRE + - FCSV OB_FeeFrequency1Code_0: - description: Frequency at which the overdraft charge is applied to the account type: string + description: Frequency at which the overdraft charge is applied to the account enum: - - FEAC - - FEAO - - FECP - - FEDA - - FEHO - - FEI - - FEMO - - FEOA - - FEOT - - FEPC - - FEPH - - FEPO - - FEPS - - FEPT - - FEPTA - - FEPTP - - FEQU - - FESM - - FEST - - FEWE - - FEYE + - FEAC + - FEAO + - FECP + - FEDA + - FEHO + - FEI + - FEMO + - FEOA + - FEOT + - FEPC + - FEPH + - FEPO + - FEPS + - FEPT + - FEPTA + - FEPTP + - FEQU + - FESM + - FEST + - FEWE + - FEYE OB_FeeFrequency1Code_1: - description: How often is the overdraft fee/charge calculated for the account. type: string + description: How often is the overdraft fee/charge calculated for the account. enum: - - FEAC - - FEAO - - FECP - - FEDA - - FEHO - - FEI - - FEMO - - FEOA - - FEOT - - FEPC - - FEPH - - FEPO - - FEPS - - FEPT - - FEPTA - - FEPTP - - FEQU - - FESM - - FEST - - FEWE - - FEYE + - FEAC + - FEAO + - FECP + - FEDA + - FEHO + - FEI + - FEMO + - FEOA + - FEOT + - FEPC + - FEPH + - FEPO + - FEPS + - FEPT + - FEPTA + - FEPTP + - FEQU + - FESM + - FEST + - FEWE + - FEYE OB_FeeFrequency1Code_2: - description: How frequently the fee/charge is applied to the account type: string + description: How frequently the fee/charge is applied to the account enum: - - FEAC - - FEAO - - FECP - - FEDA - - FEHO - - FEI - - FEMO - - FEOA - - FEOT - - FEPC - - FEPH - - FEPO - - FEPS - - FEPT - - FEPTA - - FEPTP - - FEQU - - FESM - - FEST - - FEWE - - FEYE + - FEAC + - FEAO + - FECP + - FEDA + - FEHO + - FEI + - FEMO + - FEOA + - FEOT + - FEPC + - FEPH + - FEPO + - FEPS + - FEPT + - FEPTA + - FEPTP + - FEQU + - FESM + - FEST + - FEWE + - FEYE OB_FeeFrequency1Code_3: - description: How frequently the fee/charge is calculated type: string + description: How frequently the fee/charge is calculated enum: - - FEAC - - FEAO - - FECP - - FEDA - - FEHO - - FEI - - FEMO - - FEOA - - FEOT - - FEPC - - FEPH - - FEPO - - FEPS - - FEPT - - FEPTA - - FEPTP - - FEQU - - FESM - - FEST - - FEWE - - FEYE + - FEAC + - FEAO + - FECP + - FEDA + - FEHO + - FEI + - FEMO + - FEOA + - FEOT + - FEPC + - FEPH + - FEPO + - FEPS + - FEPT + - FEPTA + - FEPTP + - FEQU + - FESM + - FEST + - FEWE + - FEYE OB_FeeFrequency1Code_4: - description: 'Period e.g. day, week, month etc. for which the fee/charge is capped' type: string + description: Period e.g. day, week, month etc. for which the fee/charge is capped enum: - - FEAC - - FEAO - - FECP - - FEDA - - FEHO - - FEI - - FEMO - - FEOA - - FEOT - - FEPC - - FEPH - - FEPO - - FEPS - - FEPT - - FEPTA - - FEPTP - - FEQU - - FESM - - FEST - - FEWE - - FEYE + - FEAC + - FEAO + - FECP + - FEDA + - FEHO + - FEI + - FEMO + - FEOA + - FEOT + - FEPC + - FEPH + - FEPO + - FEPS + - FEPT + - FEPTA + - FEPTP + - FEQU + - FESM + - FEST + - FEWE + - FEYE OB_FeeType1Code: - description: Fee/Charge Type type: string + description: Fee/Charge Type enum: - - FEPF - - FTOT - - FYAF - - FYAM - - FYAQ - - FYCP - - FYDB - - FYMI - - FYXX + - FEPF + - FTOT + - FYAF + - FYAM + - FYAQ + - FYCP + - FYDB + - FYMI + - FYXX OB_InterestCalculationMethod1Code: - description: Methods of calculating interest type: string + description: Methods of calculating interest enum: - - ITCO - - ITOT - - ITSI + - ITCO + - ITOT + - ITSI OB_InterestFixedVariableType1Code: - description: 'Type of interest rate, Fixed or Variable' type: string + description: Type of interest rate, Fixed or Variable enum: - - INFI - - INVA + - INFI + - INVA OB_InterestRateType1Code_0: - description: >- - Rate type for overdraft fee/charge (where it is charged in terms of a - rate rather than an amount) type: string + description: Rate type for overdraft fee/charge (where it is charged in terms + of a rate rather than an amount) enum: - - INBB - - INFR - - INGR - - INLR - - INNE - - INOT + - INBB + - INFR + - INGR + - INLR + - INNE + - INOT OB_InterestRateType1Code_1: - description: >- - Rate type for Fee/Charge (where it is charged in terms of a rate rather - than an amount) type: string + description: Rate type for Fee/Charge (where it is charged in terms of a rate + rather than an amount) enum: - - INBB - - INFR - - INGR - - INLR - - INNE - - INOT + - INBB + - INFR + - INGR + - INLR + - INNE + - INOT OB_MinMaxType1Code: - description: Min Max type type: string + description: Min Max type enum: - - FMMN - - FMMX + - FMMN + - FMMX OB_OtherCodeType1_0: - type: object required: - - Name - - Description + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -11058,15 +13602,11 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' - additionalProperties: false OB_OtherCodeType1_1: - type: object required: - - Name - - Description - description: >- - Other application frequencies that are not available in the standard - code list + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -11074,15 +13614,13 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' - additionalProperties: false + description: Other application frequencies that are not available in the standard + code list OB_OtherCodeType1_2: - type: object required: - - Name - - Description - description: >- - Other calculation frequency which is not available in the standard code - set. + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -11090,13 +13628,13 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' - additionalProperties: false + description: Other calculation frequency which is not available in the standard + code set. OB_OtherCodeType1_3: - type: object required: - - Name - - Description - description: Other Fee type which is not available in the standard code set + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -11104,13 +13642,12 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' - additionalProperties: false + description: Other Fee type which is not available in the standard code set OB_OtherCodeType1_4: - type: object required: - - Name - - Description - description: Other fee rate type code which is not available in the standard code set + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -11118,13 +13655,13 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' - additionalProperties: false + description: Other fee rate type code which is not available in the standard + code set OB_OtherCodeType1_5: - type: object required: - - Name - - Description - description: Other fee rate type which is not in the standard rate type list + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -11132,13 +13669,12 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' - additionalProperties: false + description: Other fee rate type which is not in the standard rate type list OB_OtherCodeType1_6: - type: object required: - - Name - - Description - description: Other application frequencies not covered in the standard code list + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -11146,13 +13682,13 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' - additionalProperties: false + description: Other application frequencies not covered in the standard code + list OB_OtherCodeType1_7: - type: object required: - - Name - - Description - description: Other calculation frequency which is not available in standard code set. + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -11160,13 +13696,13 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' - additionalProperties: false + description: Other calculation frequency which is not available in standard + code set. OB_OtherCodeType1_8: - type: object required: - - Name - - Description - description: Other fee rate type which is not available in the standard code set + - Description + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -11174,14 +13710,14 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' - additionalProperties: false + description: Other fee rate type which is not available in the standard code + set OB_OtherFeeChargeDetailType: - type: object required: - - FeeCategory - - Name - - Description - description: Other Fee/charge type which is not available in the standard code set + - Description + - FeeCategory + - Name + type: object properties: Code: $ref: '#/components/schemas/OB_CodeMnemonic' @@ -11191,297 +13727,954 @@ components: $ref: '#/components/schemas/Name_4' Description: $ref: '#/components/schemas/Description_3' - additionalProperties: false + description: Other Fee/charge type which is not available in the standard code + set OB_OverdraftFeeType1Code: - description: Overdraft fee type type: string + description: Overdraft fee type enum: - - FBAO - - FBAR - - FBEB - - FBIT - - FBOR - - FBOS - - FBSC - - FBTO - - FBUB - - FBUT - - FTOT - - FTUT + - FBAO + - FBAR + - FBEB + - FBIT + - FBOR + - FBOS + - FBSC + - FBTO + - FBUB + - FBUT + - FTOT + - FTUT OB_Period1Code: - description: 'Period e.g. day, week, month etc. for which the fee/charge is capped' type: string + description: Period e.g. day, week, month etc. for which the fee/charge is capped enum: - - PACT - - PDAY - - PHYR - - PMTH - - PQTR - - PWEK - - PYER + - PACT + - PDAY + - PHYR + - PMTH + - PQTR + - PWEK + - PYER OB_Rate1_0: - description: >- - Rate charged for overdraft fee/charge (where it is charged in terms of a - rate rather than an amount) + pattern: ^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$' + description: Rate charged for overdraft fee/charge (where it is charged in terms + of a rate rather than an amount) OB_Rate1_1: - description: >- - Rate charged for Fee/Charge (where it is charged in terms of a rate - rather than an amount) + pattern: ^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$ type: string - pattern: '^(-?\\d{1,3}){1}(\\.\\d{1,4}){0,1}$' + description: Rate charged for Fee/Charge (where it is charged in terms of a + rate rather than an amount) OpeningDate: - description: >- - Date on which the account and related basic services are effectively - operational for the account owner.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date on which the account and related basic services are effectively\ + \ operational for the account owner.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses must include\ + \ the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time PartyId: - description: >- - A unique and immutable identifier used to identify the customer - resource. This identifier has no meaning to the account owner. - type: string - minLength: 1 maxLength: 40 - PartyNumber: - description: Number assigned by an agent to identify its customer. - type: string minLength: 1 + type: string + description: A unique and immutable identifier used to identify the customer + resource. This identifier has no meaning to the account owner. + PartyNumber: maxLength: 35 + minLength: 1 + type: string + description: Number assigned by an agent to identify its customer. PhoneNumber_0: - description: >- - Collection of information that identifies a phone number, as defined by - telecom services. + pattern: \+[0-9]{1,3}-[0-9()+\-]{1,30} type: string - pattern: '\+[0-9]{1,3}-[0-9()+\-]{1,30}' + description: Collection of information that identifies a phone number, as defined + by telecom services. PhoneNumber_1: - description: >- - Collection of information that identifies a mobile phone number, as - defined by telecom services. + pattern: \+[0-9]{1,3}-[0-9()+\-]{1,30} type: string - pattern: '\+[0-9]{1,3}-[0-9()+\-]{1,30}' + description: Collection of information that identifies a mobile phone number, + as defined by telecom services. PostCode: - description: >- - Identifier consisting of a group of letters and/or numbers that is added - to a postal address to assist the sorting of mail. - type: string - minLength: 1 maxLength: 16 + minLength: 1 + type: string + description: Identifier consisting of a group of letters and/or numbers that + is added to a postal address to assist the sorting of mail. PreviousPaymentDateTime: - description: >- - Date of most recent direct debit collection.All dates in the JSON - payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date of most recent direct debit collection.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ProprietaryBankTransactionCodeStructure1: - type: object required: - - Code - description: Set of elements to fully identify a proprietary bank transaction code. + - Code + type: object properties: Code: - description: >- - Proprietary bank transaction code to identify the underlying - transaction. - type: string - minLength: 1 maxLength: 35 - Issuer: - description: >- - Identification of the issuer of the proprietary bank transaction - code. - type: string minLength: 1 + type: string + description: Proprietary bank transaction code to identify the underlying + transaction. + Issuer: maxLength: 35 - additionalProperties: false + minLength: 1 + type: string + description: Identification of the issuer of the proprietary bank transaction + code. + description: Set of elements to fully identify a proprietary bank transaction + code. Rate: - description: Rate associated with the statement rate type. + pattern: ^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$ type: string - pattern: '^(-?\d{1,3}){1}(\.\d{1,4}){0,1}$' + description: Rate associated with the statement rate type. Reference: - description: >- - Unique reference, as assigned by the creditor, to unambiguously refer to - the payment transaction. - - Usage: If available, the initiating party should provide this reference - in the structured remittance information, to enable reconciliation by - the creditor upon receipt of the amount of money. - - If the business context requires the use of a creditor reference or a - payment remit identification, and only one identifier can be passed - through the end-to-end chain, the creditor's reference or payment - remittance identification should be quoted in the end-to-end transaction - identification. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. OBBeneficiaryType1Code: - description: Specifies the Beneficiary Type. type: string + description: Specifies the Beneficiary Type. enum: - - Trusted - - Ordinary + - Trusted + - Ordinary ScheduledPaymentDateTime: - description: >- - The date on which the scheduled payment will be made.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the scheduled payment will be made.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time ScheduledPaymentId: - description: >- - A unique and immutable identifier used to identify the scheduled payment - resource. This identifier has no meaning to the account owner. - type: string - minLength: 1 maxLength: 40 - SecondaryIdentification: - description: >- - This is secondary identification of the account, as assigned by the - account servicing institution. - - This can be used by building societies to additionally identify accounts - with a roll number (in addition to a sort code and account number - combination). - type: string minLength: 1 - maxLength: 34 - StandingOrderId: - description: >- - A unique and immutable identifier used to identify the standing order - resource. This identifier has no meaning to the account owner. type: string + description: A unique and immutable identifier used to identify the scheduled + payment resource. This identifier has no meaning to the account owner. + SecondaryIdentification: + maxLength: 34 minLength: 1 + type: string + description: "This is secondary identification of the account, as assigned by\ + \ the account servicing institution. \nThis can be used by building societies\ + \ to additionally identify accounts with a roll number (in addition to a sort\ + \ code and account number combination)." + StandingOrderId: maxLength: 40 + minLength: 1 + type: string + description: A unique and immutable identifier used to identify the standing + order resource. This identifier has no meaning to the account owner. StartDateTime: - description: >- - Date and time at which the statement period starts.All dates in the JSON - payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the statement period starts.All dates in\ + \ the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time\ + \ fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time StatementId: - description: >- - Unique identifier for the statement resource within an servicing - institution. This identifier is both unique and immutable. - type: string - minLength: 1 maxLength: 40 - StatementReference: - description: >- - Unique reference for the statement. This reference may be optionally - populated if available. - type: string minLength: 1 + type: string + description: Unique identifier for the statement resource within an servicing + institution. This identifier is both unique and immutable. + StatementReference: maxLength: 35 + minLength: 1 + type: string + description: Unique reference for the statement. This reference may be optionally + populated if available. StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time StreetName: - description: Name of a street or thoroughfare. - type: string - minLength: 1 maxLength: 70 - TownName: - description: >- - Name of a built-up area, with defined boundaries, and a local - government. - type: string minLength: 1 + type: string + description: Name of a street or thoroughfare. + TownName: maxLength: 35 + minLength: 1 + type: string + description: Name of a built-up area, with defined boundaries, and a local government. TransactionId: - description: >- - Unique identifier for the transaction within an servicing institution. - This identifier is both unique and immutable. + maxLength: 210 + minLength: 1 type: string + description: Unique identifier for the transaction within an servicing institution. + This identifier is both unique and immutable. + TransactionInformation: + maxLength: 500 minLength: 1 + type: string + description: "Further details of the transaction. \nThis is the transaction\ + \ narrative, which is unstructured text." + TransactionReference: maxLength: 210 - TransactionInformation: + minLength: 1 + type: string + description: Unique reference for the transaction. This reference is optionally + populated, and may as an example be the FPID in the Faster Payments context. + Value: + maxLength: 40 + minLength: 1 + type: string + description: Value associated with the statement value type. + ValueDateTime: + type: string + description: "Date and time at which assets become available to the account\ + \ owner in case of a credit entry, or cease to be available to the account\ + \ owner in case of a debit transaction entry.\nUsage: If transaction entry\ + \ status is pending and value date is present, then the value date refers\ + \ to an expected/requested value date.\nFor transaction entries subject to\ + \ availability/float and for which availability information is provided, the\ + \ value date must not be used. In this case the availability component identifies\ + \ the number of availability days.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses must include\ + \ the timezone. An example is below:\n2017-04-05T10:43:07+00:00" + format: date-time + responses: + 200AccountAccessConsentsConsentIdRead: + description: Account Access Consents Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadConsentResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBReadConsentResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadConsentResponse1' + 200AccountsAccountIdBalancesRead: + description: Balances Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadBalance1' + application/json: + schema: + $ref: '#/components/schemas/OBReadBalance1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadBalance1' + 200AccountsAccountIdBeneficiariesRead: + description: Beneficiaries Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadBeneficiary5' + application/json: + schema: + $ref: '#/components/schemas/OBReadBeneficiary5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadBeneficiary5' + 200AccountsAccountIdDirectDebitsRead: + description: Direct Debits Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadDirectDebit2' + application/json: + schema: + $ref: '#/components/schemas/OBReadDirectDebit2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadDirectDebit2' + 200AccountsAccountIdOffersRead: + description: Offers Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadOffer1' + application/json: + schema: + $ref: '#/components/schemas/OBReadOffer1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadOffer1' + 200AccountsAccountIdPartiesRead: + description: Parties Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadParty3' + application/json: + schema: + $ref: '#/components/schemas/OBReadParty3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadParty3' + 200AccountsAccountIdPartyRead: + description: Parties Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadParty2' + application/json: + schema: + $ref: '#/components/schemas/OBReadParty2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadParty2' + 200AccountsAccountIdProductRead: + description: Products Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadProduct2' + application/json: + schema: + $ref: '#/components/schemas/OBReadProduct2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadProduct2' + 200AccountsAccountIdRead: + description: Accounts Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadAccount6' + application/json: + schema: + $ref: '#/components/schemas/OBReadAccount6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadAccount6' + 200AccountsAccountIdScheduledPaymentsRead: + description: Scheduled Payments Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadScheduledPayment3' + application/json: + schema: + $ref: '#/components/schemas/OBReadScheduledPayment3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadScheduledPayment3' + 200AccountsAccountIdStandingOrdersRead: + description: Standing Orders Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadStandingOrder6' + application/json: + schema: + $ref: '#/components/schemas/OBReadStandingOrder6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadStandingOrder6' + 200AccountsAccountIdStatementsRead: + description: Statements Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadStatement2' + application/json: + schema: + $ref: '#/components/schemas/OBReadStatement2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadStatement2' + 200AccountsAccountIdStatementsStatementIdFileRead: + description: Statements Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/File' + application/json: + schema: + $ref: '#/components/schemas/File' + application/jose+jwe: + schema: + $ref: '#/components/schemas/File' + 200AccountsAccountIdStatementsStatementIdRead: + description: Statements Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadStatement2' + application/json: + schema: + $ref: '#/components/schemas/OBReadStatement2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadStatement2' + 200AccountsAccountIdStatementsStatementIdTransactionsRead: + description: Transactions Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + application/json: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + 200AccountsAccountIdTransactionsRead: + description: Transactions Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + application/json: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + 200AccountsRead: + description: Accounts Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadAccount6' + application/json: + schema: + $ref: '#/components/schemas/OBReadAccount6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadAccount6' + 200BalancesRead: + description: Balances Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadBalance1' + application/json: + schema: + $ref: '#/components/schemas/OBReadBalance1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadBalance1' + 200BeneficiariesRead: + description: Beneficiaries Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadBeneficiary5' + application/json: + schema: + $ref: '#/components/schemas/OBReadBeneficiary5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadBeneficiary5' + 200DirectDebitsRead: + description: Direct Debits Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadDirectDebit2' + application/json: + schema: + $ref: '#/components/schemas/OBReadDirectDebit2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadDirectDebit2' + 200OffersRead: + description: Offers Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadOffer1' + application/json: + schema: + $ref: '#/components/schemas/OBReadOffer1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadOffer1' + 200PartyRead: + description: Parties Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadParty2' + application/json: + schema: + $ref: '#/components/schemas/OBReadParty2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadParty2' + 200ProductsRead: + description: Products Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadProduct2' + application/json: + schema: + $ref: '#/components/schemas/OBReadProduct2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadProduct2' + 200ScheduledPaymentsRead: + description: Scheduled Payments Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadScheduledPayment3' + application/json: + schema: + $ref: '#/components/schemas/OBReadScheduledPayment3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadScheduledPayment3' + 200StandingOrdersRead: + description: Standing Orders Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadStandingOrder6' + application/json: + schema: + $ref: '#/components/schemas/OBReadStandingOrder6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadStandingOrder6' + 200StatementsRead: + description: Statements Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadStatement2' + application/json: + schema: + $ref: '#/components/schemas/OBReadStatement2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadStatement2' + 200TransactionsRead: + description: Transactions Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + application/json: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadTransaction6' + 201AccountAccessConsentsCreated: + description: Account Access Consents Created + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadConsentResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBReadConsentResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadConsentResponse1' + 204AccountAccessConsentsConsentIdDeleted: + description: Account Access Consents Deleted + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 400Error: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401Error: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403Error: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404Error: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405Error: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406Error: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415Error: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429Error: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500Error: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/json: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + parameters: + FromBookingDateTimeParam: + name: fromBookingDateTime + in: query description: |- - Further details of the transaction. - This is the transaction narrative, which is unstructured text. - type: string - minLength: 1 - maxLength: 500 - TransactionReference: - description: >- - Unique reference for the transaction. This reference is optionally - populated, and may as an example be the FPID in the Faster Payments - context. - type: string - minLength: 1 - maxLength: 210 - Value: - description: Value associated with the statement value type. - type: string - minLength: 1 - maxLength: 40 - ValueDateTime: - description: >- - Date and time at which assets become available to the account owner in - case of a credit entry, or cease to be available to the account owner in - case of a debit transaction entry. - - Usage: If transaction entry status is pending and value date is present, - then the value date refers to an expected/requested value date. - - For transaction entries subject to availability/float and for which - availability information is provided, the value date must not be used. - In this case the availability component identifies the number of - availability days.All dates in the JSON payloads are represented in ISO - 8601 date-time format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 - type: string - format: date-time + The UTC ISO 8601 Date Time to filter transactions FROM + NB Time component is optional - set to 00:00:00 for just Date. + If the Date Time contains a timezone, the ASPSP must ignore the timezone component. + schema: + type: string + format: date-time + ToBookingDateTimeParam: + name: toBookingDateTime + in: query + description: |- + The UTC ISO 8601 Date Time to filter transactions TO + NB Time component is optional - set to 00:00:00 for just Date. + If the Date Time contains a timezone, the ASPSP must ignore the timezone component. + schema: + type: string + format: date-time + FromStatementDateTimeParam: + name: fromStatementDateTime + in: query + description: |- + The UTC ISO 8601 Date Time to filter statements FROM + NB Time component is optional - set to 00:00:00 for just Date. + If the Date Time contains a timezone, the ASPSP must ignore the timezone component. + schema: + type: string + format: date-time + ToStatementDateTimeParam: + name: toStatementDateTime + in: query + description: |- + The UTC ISO 8601 Date Time to filter statements TO + NB Time component is optional - set to 00:00:00 for just Date. + If the Date Time contains a timezone, the ASPSP must ignore the timezone component. + schema: + type: string + format: date-time + ConsentId: + name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + AccountId: + name: AccountId + in: path + description: AccountId + required: true + schema: + type: string + StatementId: + name: StatementId + in: path + description: StatementId + required: true + schema: + type: string + Authorization: + name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + x-customer-user-agent: + name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + x-fapi-customer-ip-address: + name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + x-fapi-auth-date: + name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example is\ + \ below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + x-fapi-interaction-id: + name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + x-idempotency-key: + name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + x-jws-signature: + name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + requestBodies: + OBReadConsent1Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBReadConsent1' + application/json: + schema: + $ref: '#/components/schemas/OBReadConsent1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBReadConsent1' + required: true securitySchemes: TPPOAuth2Security: type: oauth2 description: TPP client credential authorisation flow with the ASPSP flows: clientCredentials: - tokenUrl: 'https://authserver.example/token' + tokenUrl: https://authserver.example/token scopes: accounts: Ability to read Accounts information PSUOAuth2Security: type: oauth2 - description: >- - OAuth flow, it is required when the PSU needs to perform SCA with the - ASPSP when a TPP wants to access an ASPSP resource owned by the PSU + description: OAuth flow, it is required when the PSU needs to perform SCA with + the ASPSP when a TPP wants to access an ASPSP resource owned by the PSU flows: authorizationCode: - authorizationUrl: 'https://authserver.example/authorization' - tokenUrl: 'https://authserver.example/token' + authorizationUrl: https://authserver.example/authorization + tokenUrl: https://authserver.example/token scopes: accounts: Ability to read Accounts information diff --git a/dist/openapi/aggregated-polling-openapi.json b/dist/openapi/aggregated-polling-openapi.json index 2c6039df..75c9d84c 100644 --- a/dist/openapi/aggregated-polling-openapi.json +++ b/dist/openapi/aggregated-polling-openapi.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Aggregated Event Polling API Specification", - "description": "OpenAPI for Aggregated Event Polling API Specification", + "description": "Swagger for Aggregated Event Polling API Specification", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,8 +12,13 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1" + } + ], "paths": { "/events": { "post": { @@ -24,54 +29,257 @@ "operationId": "CreateEvents", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventPolling1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBEventPolling1" + } + } + }, + "required": true + }, "responses": { "200": { - "$ref": "#/components/responses/200EventsRead" + "description": "Read awaiting events", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventPollingResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBEventPollingResponse1" + } + } + } }, "201": { - "$ref": "#/components/responses/201EventsCreated" + "description": "Events Created", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventPollingResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBEventPollingResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -82,97 +290,178 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBEventPolling1Param" - } + "x-codegen-request-body-name": "OBEventPolling1Param" } } }, "components": { - "parameters": { - "Authorization": { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - "x-customer-user-agent": { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - }, - "x-fapi-customer-ip-address": { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - "x-fapi-auth-date": { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" + "schemas": { + "OBError1": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } } }, - "x-fapi-interaction-id": { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "OBErrorResponse1": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "$ref": "#/components/schemas/OBError1" + } + } + }, + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." }, - "x-idempotency-key": { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 + "OBEventPolling1": { + "type": "object", + "properties": { + "maxEvents": { + "type": "integer", + "description": "Maximum number of events to be returned. A value of zero indicates the ASPSP should not return events even if available" + }, + "returnImmediately": { + "type": "boolean", + "description": "Indicates whether an ASPSP should return a response immediately or provide a long poll" + }, + "ack": { + "type": "array", + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "An array of jti values indicating event notifications positively acknowledged by the TPP" + } + }, + "setErrs": { + "type": "object", + "additionalProperties": { + "required": [ + "description", + "err" + ], + "type": "object", + "properties": { + "err": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A value from the IANA \"Security Event Token Delivery Error Codes\" registry that identifies the error as defined here \nhttps://tools.ietf.org/id/draft-ietf-secevent-http-push-03.html#error_codes" + }, + "description": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "A human-readable string that provides additional diagnostic information" + } + } + }, + "description": "An object that encapsulates all negative acknowledgements transmitted by the TPP" + } } }, - "x-jws-signature": { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "A detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - } - }, - "requestBodies": { - "OBEventPolling1Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBEventPolling1" - } + "OBEventPollingResponse1": { + "required": [ + "moreAvailable", + "sets" + ], + "type": "object", + "properties": { + "moreAvailable": { + "type": "boolean", + "description": "A JSON boolean value that indicates if more unacknowledged event notifications are available to be returned." + }, + "sets": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "An object named with the jti of the event notification to be delivered. The value is the event notification, expressed as a string.\nThe payload of the event should be defined in the OBEventNotification2 format." + }, + "description": "A JSON object that contains zero or more nested JSON attributes. If there are no outstanding event notifications to be transmitted, the JSON object SHALL be empty." } - }, - "required": true + } } }, "responses": { - "201EventsCreated": { - "description": "Events Created", + "200EventsRead": { + "description": "Read awaiting events", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -182,15 +471,20 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventPollingResponse1" + } + }, + "application/jose+jwe": { "schema": { "$ref": "#/components/schemas/OBEventPollingResponse1" } } } }, - "200EventsRead": { - "description": "Read awaiting events", + "201EventsCreated": { + "description": "Events Created", "headers": { "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", @@ -200,7 +494,12 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventPollingResponse1" + } + }, + "application/jose+jwe": { "schema": { "$ref": "#/components/schemas/OBEventPollingResponse1" } @@ -218,7 +517,12 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { "schema": { "$ref": "#/components/schemas/OBErrorResponse1" } @@ -234,7 +538,8 @@ "type": "string" } } - } + }, + "content": {} }, "403Error": { "description": "Forbidden", @@ -247,7 +552,12 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { "schema": { "$ref": "#/components/schemas/OBErrorResponse1" } @@ -263,7 +573,8 @@ "type": "string" } } - } + }, + "content": {} }, "405Error": { "description": "Method Not Allowed", @@ -274,7 +585,8 @@ "type": "string" } } - } + }, + "content": {} }, "406Error": { "description": "Not Acceptable", @@ -285,7 +597,8 @@ "type": "string" } } - } + }, + "content": {} }, "415Error": { "description": "Unsupported Media Type", @@ -296,24 +609,26 @@ "type": "string" } } - } + }, + "content": {} }, "429Error": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500Error": { "description": "Internal Server Error", @@ -326,7 +641,12 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { "schema": { "$ref": "#/components/schemas/OBErrorResponse1" } @@ -334,175 +654,86 @@ } } }, - "schemas": { - "OBError1": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 + "parameters": { + "Authorization": { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, - "OBErrorResponse1": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "$ref": "#/components/schemas/OBError1" - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "x-customer-user-agent": { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } }, - "OBEventPolling1": { - "type": "object", - "properties": { - "maxEvents": { - "description": "Maximum number of events to be returned. A value of zero indicates the ASPSP should not return events even if available", - "type": "integer" - }, - "returnImmediately": { - "description": "Indicates whether an ASPSP should return a response immediately or provide a long poll", - "type": "boolean" - }, - "ack": { - "type": "array", - "items": { - "description": "An array of jti values indicating event notifications positively acknowledged by the TPP", - "type": "string", - "minLength": 1, - "maxLength": 128 - } - }, - "setErrs": { - "type": "object", - "description": "An object that encapsulates all negative acknowledgements transmitted by the TPP", - "properties": {}, - "additionalProperties": { - "type": "object", - "required": [ - "err", - "description" - ], - "properties": { - "err": { - "description": "A value from the IANA \"Security Event Token Delivery Error Codes\" registry that identifies the error as defined here \nhttps://tools.ietf.org/id/draft-ietf-secevent-http-push-03.html#error_codes", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "description": { - "description": "A human-readable string that provides additional diagnostic information", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - } - } - }, - "additionalProperties": false + "x-fapi-customer-ip-address": { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, - "OBEventPollingResponse1": { - "type": "object", - "required": [ - "moreAvailable", - "sets" - ], - "properties": { - "moreAvailable": { - "description": "A JSON boolean value that indicates if more unacknowledged event notifications are available to be returned.", - "type": "boolean" + "x-fapi-auth-date": { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + "x-fapi-interaction-id": { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "x-idempotency-key": { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } + }, + "x-jws-signature": { + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + } + }, + "requestBodies": { + "OBEventPolling1Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventPolling1" + } }, - "sets": { - "type": "object", - "description": "A JSON object that contains zero or more nested JSON attributes. If there are no outstanding event notifications to be transmitted, the JSON object SHALL be empty.", - "properties": {}, - "additionalProperties": { - "description": "An object named with the jti of the event notification to be delivered. The value is the event notification, expressed as a string.\nThe payload of the event should be defined in the OBEventNotification2 format.", - "type": "string" + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBEventPolling1" } } }, - "additionalProperties": false + "required": true } }, "securitySchemes": { diff --git a/dist/openapi/aggregated-polling-openapi.yaml b/dist/openapi/aggregated-polling-openapi.yaml index 6d127f62..9c91d9ea 100644 --- a/dist/openapi/aggregated-polling-openapi.yaml +++ b/dist/openapi/aggregated-polling-openapi.yaml @@ -1,151 +1,370 @@ openapi: 3.0.1 info: title: Aggregated Event Polling API Specification - description: OpenAPI for Aggregated Event Polling API Specification - termsOfService: 'https://www.openbanking.org.uk/terms' + description: Swagger for Aggregated Event Polling API Specification + termsOfService: https://www.openbanking.org.uk/terms contact: name: Service Desk email: ServiceDesk@openbanking.org.uk license: name: open-licence - url: 'https://www.openbanking.org.uk/open-licence' - version: v3.1.5 + url: https://www.openbanking.org.uk/open-licence + version: v3.1.6 +servers: +- url: /open-banking/v3.1 paths: /events: post: tags: - - Events + - Events summary: Create Events operationId: CreateEvents parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventPolling1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBEventPolling1' + required: true responses: - '200': - $ref: '#/components/responses/200EventsRead' - '201': - $ref: '#/components/responses/201EventsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Read awaiting events + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventPollingResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBEventPollingResponse1' + 201: + description: Events Created + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventPollingResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBEventPollingResponse1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - accounts - - fundsconfirmations - requestBody: - $ref: '#/components/requestBodies/OBEventPolling1Param' + - TPPOAuth2Security: + - accounts + - fundsconfirmations + x-codegen-request-body-name: OBEventPolling1Param components: - parameters: - Authorization: - in: header - name: Authorization - required: true - description: 'An Authorisation Token as per https://tools.ietf.org/html/rfc6750' - schema: - type: string - x-customer-user-agent: - in: header - name: x-customer-user-agent - description: Indicates the user-agent that the PSU is using. - required: false - schema: - type: string - x-fapi-customer-ip-address: - in: header - name: x-fapi-customer-ip-address - required: false - description: The PSU's IP address if the PSU is currently logged in with the TPP. - schema: - type: string - x-fapi-auth-date: - in: header - name: x-fapi-auth-date - required: false - description: >- - The time when the PSU last logged in with the TPP. - - All dates in the HTTP headers are represented as RFC 7231 Full Dates. An - example is below: - - Sun, 10 Sep 2017 19:43:31 UTC - schema: - type: string - pattern: >- - ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} - (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} - \d{2}:\d{2}:\d{2} (GMT|UTC)$ - x-fapi-interaction-id: - in: header - name: x-fapi-interaction-id - required: false - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-idempotency-key: - name: x-idempotency-key - in: header - description: | - Every request will be processed only once per x-idempotency-key. The - Idempotency Key will be valid for 24 hours. - required: true - schema: - type: string - pattern: ^(?!\s)(.*)(\S)$ - maxLength: 40 - x-jws-signature: - in: header - name: x-jws-signature - required: true - description: A detached JWS signature of the body of the payload. - schema: - type: string - requestBodies: - OBEventPolling1Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBEventPolling1' - required: true + schemas: + OBError1: + required: + - ErrorCode + - Message + type: object + properties: + ErrorCode: + type: string + description: Low level textual error code, e.g., UK.OBIE.Field.Missing + x-namespaced-enum: + - UK.OBIE.Field.Expected + - UK.OBIE.Field.Invalid + - UK.OBIE.Field.InvalidDate + - UK.OBIE.Field.Missing + - UK.OBIE.Field.Unexpected + - UK.OBIE.Header.Invalid + - UK.OBIE.Header.Missing + - UK.OBIE.Reauthenticate + - UK.OBIE.Resource.ConsentMismatch + - UK.OBIE.Resource.InvalidConsentStatus + - UK.OBIE.Resource.InvalidFormat + - UK.OBIE.Resource.NotFound + - UK.OBIE.Rules.AfterCutOffDateTime + - UK.OBIE.Rules.DuplicateReference + - UK.OBIE.Signature.Invalid + - UK.OBIE.Signature.InvalidClaim + - UK.OBIE.Signature.Malformed + - UK.OBIE.Signature.Missing + - UK.OBIE.Signature.MissingClaim + - UK.OBIE.Signature.Unexpected + - UK.OBIE.UnexpectedError + - UK.OBIE.Unsupported.AccountIdentifier + - UK.OBIE.Unsupported.AccountSecondaryIdentifier + - UK.OBIE.Unsupported.Currency + - UK.OBIE.Unsupported.Frequency + - UK.OBIE.Unsupported.LocalInstrument + - UK.OBIE.Unsupported.Scheme + Message: + maxLength: 500 + minLength: 1 + type: string + description: |- + A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future' + OBIE doesn't standardise this field + Path: + maxLength: 500 + minLength: 1 + type: string + description: Recommended but optional reference to the JSON Path of the + field with error, e.g., Data.Initiation.InstructedAmount.Currency + Url: + type: string + description: URL to help remediate the problem, or provide more information, + or to API Reference, or help etc + OBErrorResponse1: + required: + - Code + - Errors + - Message + type: object + properties: + Code: + maxLength: 40 + minLength: 1 + type: string + description: High level textual error code, to help categorize the errors. + Id: + maxLength: 40 + minLength: 1 + type: string + description: A unique reference for the error instance, for audit purposes, + in case of unknown/unclassified errors. + Message: + maxLength: 500 + minLength: 1 + type: string + description: Brief Error message, e.g., 'There is something wrong with the + request parameters provided' + Errors: + minItems: 1 + type: array + items: + $ref: '#/components/schemas/OBError1' + description: An array of detail error codes, and messages, and URLs to documentation + to help remediation. + OBEventPolling1: + type: object + properties: + maxEvents: + type: integer + description: Maximum number of events to be returned. A value of zero indicates + the ASPSP should not return events even if available + returnImmediately: + type: boolean + description: Indicates whether an ASPSP should return a response immediately + or provide a long poll + ack: + type: array + items: + maxLength: 128 + minLength: 1 + type: string + description: An array of jti values indicating event notifications positively + acknowledged by the TPP + setErrs: + type: object + additionalProperties: + required: + - description + - err + type: object + properties: + err: + maxLength: 40 + minLength: 1 + type: string + description: "A value from the IANA \"Security Event Token Delivery\ + \ Error Codes\" registry that identifies the error as defined here\ + \ \nhttps://tools.ietf.org/id/draft-ietf-secevent-http-push-03.html#error_codes" + description: + maxLength: 256 + minLength: 1 + type: string + description: A human-readable string that provides additional diagnostic + information + description: An object that encapsulates all negative acknowledgements transmitted + by the TPP + OBEventPollingResponse1: + required: + - moreAvailable + - sets + type: object + properties: + moreAvailable: + type: boolean + description: A JSON boolean value that indicates if more unacknowledged + event notifications are available to be returned. + sets: + type: object + additionalProperties: + type: string + description: |- + An object named with the jti of the event notification to be delivered. The value is the event notification, expressed as a string. + The payload of the event should be defined in the OBEventNotification2 format. + description: A JSON object that contains zero or more nested JSON attributes. + If there are no outstanding event notifications to be transmitted, the + JSON object SHALL be empty. responses: - 201EventsCreated: - description: Events Created + 200EventsRead: + description: Read awaiting events headers: x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. schema: type: string content: - application/json: + application/json; charset=utf-8: schema: $ref: '#/components/schemas/OBEventPollingResponse1' - 200EventsRead: - description: Read awaiting events + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBEventPollingResponse1' + 201EventsCreated: + description: Events Created headers: x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. schema: type: string content: - application/json: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventPollingResponse1' + application/jose+jwe: schema: $ref: '#/components/schemas/OBEventPollingResponse1' 400Error: @@ -156,7 +375,10 @@ components: schema: type: string content: - application/json: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: schema: $ref: '#/components/schemas/OBErrorResponse1' 401Error: @@ -166,6 +388,7 @@ components: description: An RFC4122 UID used as a correlation id. schema: type: string + content: {} 403Error: description: Forbidden headers: @@ -174,7 +397,10 @@ components: schema: type: string content: - application/json: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: schema: $ref: '#/components/schemas/OBErrorResponse1' 404Error: @@ -184,6 +410,7 @@ components: description: An RFC4122 UID used as a correlation id. schema: type: string + content: {} 405Error: description: Method Not Allowed headers: @@ -191,6 +418,7 @@ components: description: An RFC4122 UID used as a correlation id. schema: type: string + content: {} 406Error: description: Not Acceptable headers: @@ -198,6 +426,7 @@ components: description: An RFC4122 UID used as a correlation id. schema: type: string + content: {} 415Error: description: Unsupported Media Type headers: @@ -205,17 +434,19 @@ components: description: An RFC4122 UID used as a correlation id. schema: type: string + content: {} 429Error: description: Too Many Requests headers: - Retry-After: - description: Number in seconds to wait - schema: - type: integer x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. schema: type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} 500Error: description: Internal Server Error headers: @@ -224,183 +455,86 @@ components: schema: type: string content: - application/json: + application/json; charset=utf-8: schema: $ref: '#/components/schemas/OBErrorResponse1' - schemas: - OBError1: - type: object - properties: - ErrorCode: - description: 'Low level textual error code, e.g., UK.OBIE.Field.Missing' - type: string - x-namespaced-enum: - - UK.OBIE.Field.Expected - - UK.OBIE.Field.Invalid - - UK.OBIE.Field.InvalidDate - - UK.OBIE.Field.Missing - - UK.OBIE.Field.Unexpected - - UK.OBIE.Header.Invalid - - UK.OBIE.Header.Missing - - UK.OBIE.Reauthenticate - - UK.OBIE.Resource.ConsentMismatch - - UK.OBIE.Resource.InvalidConsentStatus - - UK.OBIE.Resource.InvalidFormat - - UK.OBIE.Resource.NotFound - - UK.OBIE.Rules.AfterCutOffDateTime - - UK.OBIE.Rules.DuplicateReference - - UK.OBIE.Signature.Invalid - - UK.OBIE.Signature.InvalidClaim - - UK.OBIE.Signature.Malformed - - UK.OBIE.Signature.Missing - - UK.OBIE.Signature.MissingClaim - - UK.OBIE.Signature.Unexpected - - UK.OBIE.UnexpectedError - - UK.OBIE.Unsupported.AccountIdentifier - - UK.OBIE.Unsupported.AccountSecondaryIdentifier - - UK.OBIE.Unsupported.Currency - - UK.OBIE.Unsupported.Frequency - - UK.OBIE.Unsupported.LocalInstrument - - UK.OBIE.Unsupported.Scheme - Message: - description: >- - A description of the error that occurred. e.g., 'A mandatory field - isn't supplied' or 'RequestedExecutionDateTime must be in future' - - OBIE doesn't standardise this field - type: string - minLength: 1 - maxLength: 500 - Path: - description: >- - Recommended but optional reference to the JSON Path of the field - with error, e.g., Data.Initiation.InstructedAmount.Currency - type: string - minLength: 1 - maxLength: 500 - Url: - description: >- - URL to help remediate the problem, or provide more information, or - to API Reference, or help etc - type: string - required: - - ErrorCode - - Message - additionalProperties: false - minProperties: 1 - OBErrorResponse1: - description: >- - An array of detail error codes, and messages, and URLs to documentation - to help remediation. - type: object - properties: - Code: - description: 'High level textual error code, to help categorize the errors.' - type: string - minLength: 1 - maxLength: 40 - Id: - description: >- - A unique reference for the error instance, for audit purposes, in - case of unknown/unclassified errors. - type: string - minLength: 1 - maxLength: 40 - Message: - description: >- - Brief Error message, e.g., 'There is something wrong with the - request parameters provided' - type: string - minLength: 1 - maxLength: 500 - Errors: - items: - $ref: '#/components/schemas/OBError1' - type: array - minItems: 1 - required: - - Code - - Message - - Errors - additionalProperties: false - OBEventPolling1: - type: object - properties: - maxEvents: - description: >- - Maximum number of events to be returned. A value of zero indicates - the ASPSP should not return events even if available - type: integer - returnImmediately: - description: >- - Indicates whether an ASPSP should return a response immediately or - provide a long poll - type: boolean - ack: - type: array - items: - description: "An array of jti\_values indicating event notifications positively acknowledged by the TPP" - type: string - minLength: 1 - maxLength: 128 - setErrs: - type: object - description: >- - An object that encapsulates all negative acknowledgements - transmitted by the TPP - properties: {} - additionalProperties: - type: object - required: - - err - - description - properties: - err: - description: >- - A value from the IANA "Security Event Token Delivery Error - Codes" registry that identifies the error as defined here - - https://tools.ietf.org/id/draft-ietf-secevent-http-push-03.html#error_codes - type: string - minLength: 1 - maxLength: 40 - description: - description: >- - A human-readable string that provides additional diagnostic - information - type: string - minLength: 1 - maxLength: 256 - additionalProperties: false - OBEventPollingResponse1: - type: object - required: - - moreAvailable - - sets - properties: - moreAvailable: - description: >- - A JSON boolean value that indicates if more unacknowledged event - notifications are available to be returned. - type: boolean - sets: - type: object - description: >- - A JSON object that contains zero or more nested JSON attributes. If - there are no outstanding event notifications to be transmitted, the - JSON object SHALL be empty. - properties: {} - additionalProperties: - description: "An object named with the jti\_of the\_event notification to be delivered. The value is the event notification, expressed as a\_string.\nThe payload of the event should be defined in the OBEventNotification2\_format." - type: string - additionalProperties: false + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + parameters: + Authorization: + name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + x-customer-user-agent: + name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + x-fapi-customer-ip-address: + name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + x-fapi-auth-date: + name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example is\ + \ below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + x-fapi-interaction-id: + name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + x-idempotency-key: + name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + x-jws-signature: + name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + requestBodies: + OBEventPolling1Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventPolling1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBEventPolling1' + required: true securitySchemes: TPPOAuth2Security: type: oauth2 description: TPP client credential authorisation flow with the ASPSP flows: clientCredentials: - tokenUrl: 'https://authserver.example/token' + tokenUrl: https://authserver.example/token scopes: accounts: Ability to receive events associated with Accounts information - fundsconfirmations: Ability to receive events associated with confirmation of funds + fundsconfirmations: Ability to receive events associated with confirmation + of funds diff --git a/dist/openapi/callback-urls-openapi.json b/dist/openapi/callback-urls-openapi.json index ead9f98d..7c961260 100644 --- a/dist/openapi/callback-urls-openapi.json +++ b/dist/openapi/callback-urls-openapi.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Event Notification API Specification - ASPSP Endpoints", - "description": "OpenAPI for Event Notification API Specification - ASPSP Endpoints", + "description": "Swagger for Event Notification API Specification - ASPSP Endpoints", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,53 +12,124 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1" + } + ], "paths": { "/callback-urls": { - "post": { - "summary": "Create a callback URL", + "get": { "tags": [ "Callback URLs" ], + "summary": "Read all callback URLs", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-interaction-id-Param" - }, - { - "$ref": "#/components/parameters/AuthorizationParam" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature-Param" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } } ], "responses": { - "201": { - "$ref": "#/components/responses/201CallbackUrlsCreated" + "200": { + "description": "An array of callback URLs", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrlsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrlsResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400ErrorResponse" + "description": "Bad request", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401ErrorResponse" + "description": "Unauthorized", + "content": {} }, "403": { - "$ref": "#/components/responses/403ErrorResponse" + "description": "Forbidden", + "content": {} + }, + "404": { + "description": "Not found", + "content": {} }, "405": { - "$ref": "#/components/responses/405ErrorResponse" + "description": "Method Not Allowed", + "content": {} }, "406": { - "$ref": "#/components/responses/406ErrorResponse" - }, - "415": { - "$ref": "#/components/responses/415ErrorResponse" + "description": "Not Acceptable", + "content": {} }, "429": { - "$ref": "#/components/responses/429ErrorResponse" + "description": "Too Many Requests", + "headers": { + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500ErrorResponse" + "description": "Internal Server Error", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -69,51 +140,142 @@ "payments" ] } - ], - "requestBody": { - "$ref": "#/components/requestBodies/OBCallbackUrl1Param" - } + ] }, - "get": { - "summary": "Read all callback URLs", + "post": { "tags": [ "Callback URLs" ], + "summary": "Create a callback URL", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-interaction-id-Param" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/AuthorizationParam" + "name": "x-jws-signature", + "in": "header", + "description": "Header containing a detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Create an Callback URI", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrl1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrl1" + } + } + }, + "required": true + }, "responses": { - "200": { - "$ref": "#/components/responses/200CallbackUrlsRead" + "201": { + "description": "Callback URL created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrlResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrlResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400ErrorResponse" + "description": "Bad request", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401ErrorResponse" + "description": "Unauthorized", + "content": {} }, "403": { - "$ref": "#/components/responses/403ErrorResponse" - }, - "404": { - "$ref": "#/components/responses/404ErrorResponse" + "description": "Forbidden", + "content": {} }, "405": { - "$ref": "#/components/responses/405ErrorResponse" + "description": "Method Not Allowed", + "content": {} }, "406": { - "$ref": "#/components/responses/406ErrorResponse" + "description": "Not Acceptable", + "content": {} + }, + "415": { + "description": "Unsupported Media Type", + "content": {} }, "429": { - "$ref": "#/components/responses/429ErrorResponse" + "description": "Too Many Requests", + "headers": { + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500ErrorResponse" + "description": "Internal Server Error", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -124,59 +286,158 @@ "payments" ] } - ] + ], + "x-codegen-request-body-name": "OBCallbackUrl1Param" } }, "/callback-urls/{CallbackUrlId}": { "put": { - "summary": "Amend a callback URI", "tags": [ "Callback URLs" ], + "summary": "Amend a callback URI", "parameters": [ { - "$ref": "#/components/parameters/CallbackUrlId" + "name": "CallbackUrlId", + "in": "path", + "description": "CallbackUrlId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id-Param" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/AuthorizationParam" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature-Param" + "name": "x-jws-signature", + "in": "header", + "description": "Header containing a detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Create an Callback URI", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrl1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrl1" + } + } + }, + "required": true + }, "responses": { "200": { - "$ref": "#/components/responses/200CallbackUrlsChanged" + "description": "Callback URL changed", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrlResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrlResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400ErrorResponse" + "description": "Bad request", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401ErrorResponse" + "description": "Unauthorized", + "content": {} }, "403": { - "$ref": "#/components/responses/403ErrorResponse" + "description": "Forbidden", + "content": {} }, "404": { - "$ref": "#/components/responses/404ErrorResponse" + "description": "Not found", + "content": {} }, "405": { - "$ref": "#/components/responses/405ErrorResponse" + "description": "Method Not Allowed", + "content": {} }, "406": { - "$ref": "#/components/responses/406ErrorResponse" + "description": "Not Acceptable", + "content": {} }, "415": { - "$ref": "#/components/responses/415ErrorResponse" + "description": "Unsupported Media Type", + "content": {} }, "429": { - "$ref": "#/components/responses/429ErrorResponse" + "description": "Too Many Requests", + "headers": { + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500ErrorResponse" + "description": "Internal Server Error", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -188,53 +449,107 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBCallbackUrl1Param" - } + "x-codegen-request-body-name": "OBCallbackUrl1Param" }, "delete": { - "summary": "Delete a callback URI", "tags": [ "Callback URLs" ], + "summary": "Delete a callback URI", "parameters": [ { - "$ref": "#/components/parameters/CallbackUrlId" + "name": "CallbackUrlId", + "in": "path", + "description": "CallbackUrlId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id-Param" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/AuthorizationParam" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } } ], "responses": { "204": { - "$ref": "#/components/responses/204CallbackUrlsDeleted" + "description": "Callback URL changed", + "content": {} }, "400": { - "$ref": "#/components/responses/400ErrorResponse" + "description": "Bad request", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401ErrorResponse" + "description": "Unauthorized", + "content": {} }, "403": { - "$ref": "#/components/responses/403ErrorResponse" + "description": "Forbidden", + "content": {} }, "404": { - "$ref": "#/components/responses/404ErrorResponse" + "description": "Not found", + "content": {} }, "405": { - "$ref": "#/components/responses/405ErrorResponse" + "description": "Method Not Allowed", + "content": {} }, "406": { - "$ref": "#/components/responses/406ErrorResponse" + "description": "Not Acceptable", + "content": {} }, "429": { - "$ref": "#/components/responses/429ErrorResponse" + "description": "Too Many Requests", + "headers": { + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500ErrorResponse" + "description": "Internal Server Error", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -250,355 +565,189 @@ } }, "components": { - "parameters": { - "CallbackUrlId": { - "name": "CallbackUrlId", - "in": "path", - "description": "CallbackUrlId", - "required": true, - "schema": { - "type": "string" + "schemas": { + "OBCallbackUrl1": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "$ref": "#/components/schemas/OBCallbackUrlData1" + } } }, - "x-fapi-interaction-id-Param": { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBCallbackUrlData1": { + "required": [ + "Url", + "Version" + ], + "type": "object", + "properties": { + "Url": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to." + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." + } } }, - "AuthorizationParam": { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" + "OBCallbackUrlResponse1": { + "required": [ + "Data", + "Links", + "Meta" + ], + "type": "object", + "properties": { + "Data": { + "$ref": "#/components/schemas/OBCallbackUrlResponseData1" + }, + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" + } } }, - "x-jws-signature-Param": { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "Header containing a detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - } - }, - "requestBodies": { - "OBCallbackUrl1Param": { - "description": "Create an Callback URI", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBCallbackUrl1" - } - } - }, - "required": true - } - }, - "responses": { - "200CallbackUrlsRead": { - "description": "An array of callback URLs", - "headers": { - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBCallbackUrlsResponse1" - } + "OBCallbackUrlResponseData1": { + "required": [ + "CallbackUrlId", + "Url", + "Version" + ], + "type": "object", + "properties": { + "CallbackUrlId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource." + }, + "Url": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to." + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." } } }, - "201CallbackUrlsCreated": { - "description": "Callback URL created", - "headers": { - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBCallbackUrlResponse1" - } + "OBCallbackUrlsResponse1": { + "required": [ + "Data", + "Links", + "Meta" + ], + "type": "object", + "properties": { + "Data": { + "$ref": "#/components/schemas/OBCallbackUrlsResponseData1" + }, + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" } } }, - "200CallbackUrlsChanged": { - "description": "Callback URL changed", - "headers": { - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBCallbackUrlResponse1" - } - } - } - }, - "204CallbackUrlsDeleted": { - "description": "Callback URL changed" - }, - "400ErrorResponse": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBErrorResponse1" - } - } - } - }, - "401ErrorResponse": { - "description": "Unauthorized" - }, - "403ErrorResponse": { - "description": "Forbidden" - }, - "404ErrorResponse": { - "description": "Not found" - }, - "405ErrorResponse": { - "description": "Method Not Allowed" - }, - "406ErrorResponse": { - "description": "Not Acceptable" - }, - "415ErrorResponse": { - "description": "Unsupported Media Type" - }, - "429ErrorResponse": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - } - } - }, - "500ErrorResponse": { - "description": "Internal Server Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBErrorResponse1" - } - } - } - } - }, - "schemas": { - "OBCallbackUrl1": { - "type": "object", - "properties": { - "Data": { - "$ref": "#/components/schemas/OBCallbackUrlData1" - } - }, - "required": [ - "Data" - ], - "additionalProperties": false - }, - "OBCallbackUrlData1": { - "type": "object", - "properties": { - "Url": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string" - }, - "Version": { - "description": "Version for the event notification.", - "type": "string", - "minLength": 1, - "maxLength": 10 - } - }, - "required": [ - "Url", - "Version" - ], - "additionalProperties": false - }, - "OBCallbackUrlResponse1": { - "type": "object", - "properties": { - "Data": { - "$ref": "#/components/schemas/OBCallbackUrlResponseData1" - }, - "Links": { - "$ref": "#/components/schemas/Links" - }, - "Meta": { - "$ref": "#/components/schemas/Meta" - } - }, - "required": [ - "Data", - "Links", - "Meta" - ], - "additionalProperties": false - }, - "OBCallbackUrlResponseData1": { - "type": "object", - "properties": { - "CallbackUrlId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Url": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string" - }, - "Version": { - "description": "Version for the event notification.", - "type": "string", - "minLength": 1, - "maxLength": 10 - } - }, - "required": [ - "CallbackUrlId", - "Url", - "Version" - ], - "additionalProperties": false - }, - "OBCallbackUrlsResponse1": { - "type": "object", - "properties": { - "Data": { - "$ref": "#/components/schemas/OBCallbackUrlsResponseData1" - }, - "Links": { - "$ref": "#/components/schemas/Links" - }, - "Meta": { - "$ref": "#/components/schemas/Meta" - } - }, - "required": [ - "Data", - "Links", - "Meta" - ], - "additionalProperties": false - }, "OBCallbackUrlsResponseData1": { "type": "object", "properties": { "CallbackUrl": { + "type": "array", "items": { "$ref": "#/components/schemas/OBCallbackUrlResponseData1" - }, - "type": "array" + } } - }, - "additionalProperties": false + } }, "OBError1": { + "required": [ + "ErrorCode", + "Message" + ], "type": "object", "properties": { "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing" }, "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" }, "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" }, "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, + } + }, + "OBErrorResponse1": { "required": [ - "ErrorCode", + "Code", + "Errors", "Message" ], - "additionalProperties": false, - "minProperties": 1 - }, - "OBErrorResponse1": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", "properties": { "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "High level textual error code, to help categorize the errors." }, "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." }, "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", + "maxLength": 500, "minLength": 1, - "maxLength": 500 + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" }, "Errors": { + "minItems": 1, + "type": "array", "items": { "$ref": "#/components/schemas/OBError1" - }, - "type": "array", - "minItems": 1 + } } }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." }, "ISODateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Links": { + "required": [ + "Self" + ], "type": "object", - "description": "Links relevant to the payload", "properties": { "Self": { "type": "string", @@ -621,15 +770,11 @@ "format": "uri" } }, - "additionalProperties": false, - "required": [ - "Self" - ] + "description": "Links relevant to the payload" }, "Meta": { "title": "MetaData", "type": "object", - "description": "Meta Data relevant to the payload", "properties": { "TotalPages": { "type": "integer", @@ -642,7 +787,203 @@ "$ref": "#/components/schemas/ISODateTime" } }, - "additionalProperties": false + "description": "Meta Data relevant to the payload" + } + }, + "responses": { + "200CallbackUrlsChanged": { + "description": "Callback URL changed", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrlResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrlResponse1" + } + } + } + }, + "200CallbackUrlsRead": { + "description": "An array of callback URLs", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrlsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrlsResponse1" + } + } + } + }, + "201CallbackUrlsCreated": { + "description": "Callback URL created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrlResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrlResponse1" + } + } + } + }, + "204CallbackUrlsDeleted": { + "description": "Callback URL changed", + "content": {} + }, + "400ErrorResponse": { + "description": "Bad request", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401ErrorResponse": { + "description": "Unauthorized", + "content": {} + }, + "403ErrorResponse": { + "description": "Forbidden", + "content": {} + }, + "404ErrorResponse": { + "description": "Not found", + "content": {} + }, + "405ErrorResponse": { + "description": "Method Not Allowed", + "content": {} + }, + "406ErrorResponse": { + "description": "Not Acceptable", + "content": {} + }, + "415ErrorResponse": { + "description": "Unsupported Media Type", + "content": {} + }, + "429ErrorResponse": { + "description": "Too Many Requests", + "headers": { + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500ErrorResponse": { + "description": "Internal Server Error", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + } + }, + "parameters": { + "CallbackUrlId": { + "name": "CallbackUrlId", + "in": "path", + "description": "CallbackUrlId", + "required": true, + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id-Param": { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "AuthorizationParam": { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + "x-jws-signature-Param": { + "name": "x-jws-signature", + "in": "header", + "description": "Header containing a detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + } + }, + "requestBodies": { + "OBCallbackUrl1Param": { + "description": "Create an Callback URI", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrl1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBCallbackUrl1" + } + } + }, + "required": true } }, "securitySchemes": { diff --git a/dist/openapi/callback-urls-openapi.yaml b/dist/openapi/callback-urls-openapi.yaml index a29c3137..bccabd39 100644 --- a/dist/openapi/callback-urls-openapi.yaml +++ b/dist/openapi/callback-urls-openapi.yaml @@ -1,291 +1,401 @@ openapi: 3.0.1 info: title: Event Notification API Specification - ASPSP Endpoints - description: OpenAPI for Event Notification API Specification - ASPSP Endpoints - termsOfService: 'https://www.openbanking.org.uk/terms' + description: Swagger for Event Notification API Specification - ASPSP Endpoints + termsOfService: https://www.openbanking.org.uk/terms contact: name: Service Desk email: ServiceDesk@openbanking.org.uk license: name: open-licence - url: 'https://www.openbanking.org.uk/open-licence' - version: v3.1.5 + url: https://www.openbanking.org.uk/open-licence + version: v3.1.6 +servers: +- url: /open-banking/v3.1 paths: /callback-urls: - post: - summary: Create a callback URL + get: tags: - - Callback URLs + - Callback URLs + summary: Read all callback URLs parameters: - - $ref: '#/components/parameters/x-fapi-interaction-id-Param' - - $ref: '#/components/parameters/AuthorizationParam' - - $ref: '#/components/parameters/x-jws-signature-Param' + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string responses: - '201': - $ref: '#/components/responses/201CallbackUrlsCreated' - '400': - $ref: '#/components/responses/400ErrorResponse' - '401': - $ref: '#/components/responses/401ErrorResponse' - '403': - $ref: '#/components/responses/403ErrorResponse' - '405': - $ref: '#/components/responses/405ErrorResponse' - '406': - $ref: '#/components/responses/406ErrorResponse' - '415': - $ref: '#/components/responses/415ErrorResponse' - '429': - $ref: '#/components/responses/429ErrorResponse' - '500': - $ref: '#/components/responses/500ErrorResponse' + 200: + description: An array of callback URLs + headers: + x-jws-signature: + description: Header containing a detached JWS signature of the body + of the payload. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBCallbackUrlsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBCallbackUrlsResponse1' + 400: + description: Bad request + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + content: {} + 403: + description: Forbidden + content: {} + 404: + description: Not found + content: {} + 405: + description: Method Not Allowed + content: {} + 406: + description: Not Acceptable + content: {} + 429: + description: Too Many Requests + headers: + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - accounts - - fundsconfirmations - - payments - requestBody: - $ref: '#/components/requestBodies/OBCallbackUrl1Param' - get: - summary: Read all callback URLs + - TPPOAuth2Security: + - accounts + - fundsconfirmations + - payments + post: tags: - - Callback URLs + - Callback URLs + summary: Create a callback URL parameters: - - $ref: '#/components/parameters/x-fapi-interaction-id-Param' - - $ref: '#/components/parameters/AuthorizationParam' + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-jws-signature + in: header + description: Header containing a detached JWS signature of the body of the + payload. + required: true + schema: + type: string + requestBody: + description: Create an Callback URI + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBCallbackUrl1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBCallbackUrl1' + required: true responses: - '200': - $ref: '#/components/responses/200CallbackUrlsRead' - '400': - $ref: '#/components/responses/400ErrorResponse' - '401': - $ref: '#/components/responses/401ErrorResponse' - '403': - $ref: '#/components/responses/403ErrorResponse' - '404': - $ref: '#/components/responses/404ErrorResponse' - '405': - $ref: '#/components/responses/405ErrorResponse' - '406': - $ref: '#/components/responses/406ErrorResponse' - '429': - $ref: '#/components/responses/429ErrorResponse' - '500': - $ref: '#/components/responses/500ErrorResponse' + 201: + description: Callback URL created + headers: + x-jws-signature: + description: Header containing a detached JWS signature of the body + of the payload. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBCallbackUrlResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBCallbackUrlResponse1' + 400: + description: Bad request + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + content: {} + 403: + description: Forbidden + content: {} + 405: + description: Method Not Allowed + content: {} + 406: + description: Not Acceptable + content: {} + 415: + description: Unsupported Media Type + content: {} + 429: + description: Too Many Requests + headers: + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - accounts - - fundsconfirmations - - payments - '/callback-urls/{CallbackUrlId}': + - TPPOAuth2Security: + - accounts + - fundsconfirmations + - payments + x-codegen-request-body-name: OBCallbackUrl1Param + /callback-urls/{CallbackUrlId}: put: - summary: Amend a callback URI tags: - - Callback URLs + - Callback URLs + summary: Amend a callback URI parameters: - - $ref: '#/components/parameters/CallbackUrlId' - - $ref: '#/components/parameters/x-fapi-interaction-id-Param' - - $ref: '#/components/parameters/AuthorizationParam' - - $ref: '#/components/parameters/x-jws-signature-Param' + - name: CallbackUrlId + in: path + description: CallbackUrlId + required: true + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-jws-signature + in: header + description: Header containing a detached JWS signature of the body of the + payload. + required: true + schema: + type: string + requestBody: + description: Create an Callback URI + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBCallbackUrl1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBCallbackUrl1' + required: true responses: - '200': - $ref: '#/components/responses/200CallbackUrlsChanged' - '400': - $ref: '#/components/responses/400ErrorResponse' - '401': - $ref: '#/components/responses/401ErrorResponse' - '403': - $ref: '#/components/responses/403ErrorResponse' - '404': - $ref: '#/components/responses/404ErrorResponse' - '405': - $ref: '#/components/responses/405ErrorResponse' - '406': - $ref: '#/components/responses/406ErrorResponse' - '415': - $ref: '#/components/responses/415ErrorResponse' - '429': - $ref: '#/components/responses/429ErrorResponse' - '500': - $ref: '#/components/responses/500ErrorResponse' + 200: + description: Callback URL changed + headers: + x-jws-signature: + description: Header containing a detached JWS signature of the body + of the payload. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBCallbackUrlResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBCallbackUrlResponse1' + 400: + description: Bad request + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + content: {} + 403: + description: Forbidden + content: {} + 404: + description: Not found + content: {} + 405: + description: Method Not Allowed + content: {} + 406: + description: Not Acceptable + content: {} + 415: + description: Unsupported Media Type + content: {} + 429: + description: Too Many Requests + headers: + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - accounts - - fundsconfirmations - - payments - requestBody: - $ref: '#/components/requestBodies/OBCallbackUrl1Param' + - TPPOAuth2Security: + - accounts + - fundsconfirmations + - payments + x-codegen-request-body-name: OBCallbackUrl1Param delete: - summary: Delete a callback URI tags: - - Callback URLs + - Callback URLs + summary: Delete a callback URI parameters: - - $ref: '#/components/parameters/CallbackUrlId' - - $ref: '#/components/parameters/x-fapi-interaction-id-Param' - - $ref: '#/components/parameters/AuthorizationParam' + - name: CallbackUrlId + in: path + description: CallbackUrlId + required: true + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string responses: - '204': - $ref: '#/components/responses/204CallbackUrlsDeleted' - '400': - $ref: '#/components/responses/400ErrorResponse' - '401': - $ref: '#/components/responses/401ErrorResponse' - '403': - $ref: '#/components/responses/403ErrorResponse' - '404': - $ref: '#/components/responses/404ErrorResponse' - '405': - $ref: '#/components/responses/405ErrorResponse' - '406': - $ref: '#/components/responses/406ErrorResponse' - '429': - $ref: '#/components/responses/429ErrorResponse' - '500': - $ref: '#/components/responses/500ErrorResponse' + 204: + description: Callback URL changed + content: {} + 400: + description: Bad request + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + content: {} + 403: + description: Forbidden + content: {} + 404: + description: Not found + content: {} + 405: + description: Method Not Allowed + content: {} + 406: + description: Not Acceptable + content: {} + 429: + description: Too Many Requests + headers: + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - accounts - - fundsconfirmations - - payments + - TPPOAuth2Security: + - accounts + - fundsconfirmations + - payments components: - parameters: - CallbackUrlId: - name: CallbackUrlId - in: path - description: CallbackUrlId - required: true - schema: - type: string - x-fapi-interaction-id-Param: - in: header - name: x-fapi-interaction-id - required: false - description: An RFC4122 UID used as a correlation id. - schema: - type: string - AuthorizationParam: - in: header - name: Authorization - required: true - description: 'An Authorisation Token as per https://tools.ietf.org/html/rfc6750' - schema: - type: string - x-jws-signature-Param: - in: header - name: x-jws-signature - required: true - description: Header containing a detached JWS signature of the body of the payload. - schema: - type: string - requestBodies: - OBCallbackUrl1Param: - description: Create an Callback URI - content: - application/json: - schema: - $ref: '#/components/schemas/OBCallbackUrl1' - required: true - responses: - 200CallbackUrlsRead: - description: An array of callback URLs - headers: - x-jws-signature: - description: >- - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBCallbackUrlsResponse1' - 201CallbackUrlsCreated: - description: Callback URL created - headers: - x-jws-signature: - description: >- - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBCallbackUrlResponse1' - 200CallbackUrlsChanged: - description: Callback URL changed - headers: - x-jws-signature: - description: >- - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBCallbackUrlResponse1' - 204CallbackUrlsDeleted: - description: Callback URL changed - 400ErrorResponse: - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/OBErrorResponse1' - 401ErrorResponse: - description: Unauthorized - 403ErrorResponse: - description: Forbidden - 404ErrorResponse: - description: Not found - 405ErrorResponse: - description: Method Not Allowed - 406ErrorResponse: - description: Not Acceptable - 415ErrorResponse: - description: Unsupported Media Type - 429ErrorResponse: - description: Too Many Requests - headers: - Retry-After: - description: Number in seconds to wait - schema: - type: integer - 500ErrorResponse: - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/OBErrorResponse1' schemas: OBCallbackUrl1: + required: + - Data type: object properties: Data: $ref: '#/components/schemas/OBCallbackUrlData1' - required: - - Data - additionalProperties: false OBCallbackUrlData1: + required: + - Url + - Version type: object properties: Url: - description: >- - Callback URL for a TPP hosted service. Will be used by ASPSPs, in - conjunction with the resource name, to construct a URL to send event - notifications to. type: string + description: Callback URL for a TPP hosted service. Will be used by ASPSPs, + in conjunction with the resource name, to construct a URL to send event + notifications to. Version: - description: Version for the event notification. - type: string - minLength: 1 maxLength: 10 - required: - - Url - - Version - additionalProperties: false + minLength: 1 + type: string + description: Version for the event notification. OBCallbackUrlResponse1: + required: + - Data + - Links + - Meta type: object properties: Data: @@ -294,38 +404,34 @@ components: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - required: - - Data - - Links - - Meta - additionalProperties: false OBCallbackUrlResponseData1: + required: + - CallbackUrlId + - Url + - Version type: object properties: CallbackUrlId: - description: >- - Unique identification as assigned by the ASPSP to uniquely identify - the callback url resource. - type: string - minLength: 1 maxLength: 40 + minLength: 1 + type: string + description: Unique identification as assigned by the ASPSP to uniquely + identify the callback url resource. Url: - description: >- - Callback URL for a TPP hosted service. Will be used by ASPSPs, in - conjunction with the resource name, to construct a URL to send event - notifications to. type: string + description: Callback URL for a TPP hosted service. Will be used by ASPSPs, + in conjunction with the resource name, to construct a URL to send event + notifications to. Version: - description: Version for the event notification. - type: string - minLength: 1 maxLength: 10 - required: - - CallbackUrlId - - Url - - Version - additionalProperties: false + minLength: 1 + type: string + description: Version for the event notification. OBCallbackUrlsResponse1: + required: + - Data + - Links + - Meta type: object properties: Data: @@ -334,102 +440,82 @@ components: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - required: - - Data - - Links - - Meta - additionalProperties: false OBCallbackUrlsResponseData1: type: object properties: CallbackUrl: + type: array items: $ref: '#/components/schemas/OBCallbackUrlResponseData1' - type: array - additionalProperties: false OBError1: + required: + - ErrorCode + - Message type: object properties: ErrorCode: - description: 'Low level textual error code, e.g., UK.OBIE.Field.Missing' - type: string - minLength: 1 maxLength: 128 - Message: - description: >- - A description of the error that occurred. e.g., 'A mandatory field - isn't supplied' or 'RequestedExecutionDateTime must be in future' - - OBIE doesn't standardise this field - type: string minLength: 1 - maxLength: 500 - Path: - description: >- - Recommended but optional reference to the JSON Path of the field - with error, e.g., Data.Initiation.InstructedAmount.Currency type: string + description: Low level textual error code, e.g., UK.OBIE.Field.Missing + Message: + maxLength: 500 minLength: 1 + type: string + description: |- + A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future' + OBIE doesn't standardise this field + Path: maxLength: 500 + minLength: 1 + type: string + description: Recommended but optional reference to the JSON Path of the + field with error, e.g., Data.Initiation.InstructedAmount.Currency Url: - description: >- - URL to help remediate the problem, or provide more information, or - to API Reference, or help etc type: string - required: - - ErrorCode - - Message - additionalProperties: false - minProperties: 1 + description: URL to help remediate the problem, or provide more information, + or to API Reference, or help etc OBErrorResponse1: - description: >- - An array of detail error codes, and messages, and URLs to documentation - to help remediation. + required: + - Code + - Errors + - Message type: object properties: Code: - description: 'High level textual error code, to help categorize the errors.' - type: string - minLength: 1 maxLength: 40 - Id: - description: >- - A unique reference for the error instance, for audit purposes, in - case of unknown/unclassified errors. - type: string minLength: 1 - maxLength: 40 - Message: - description: >- - Brief Error message, e.g., 'There is something wrong with the - request parameters provided' type: string + description: High level textual error code, to help categorize the errors. + Id: + maxLength: 40 minLength: 1 + type: string + description: A unique reference for the error instance, for audit purposes, + in case of unknown/unclassified errors. + Message: maxLength: 500 + minLength: 1 + type: string + description: Brief Error message, e.g., 'There is something wrong with the + request parameters provided' Errors: + minItems: 1 + type: array items: $ref: '#/components/schemas/OBError1' - type: array - minItems: 1 - required: - - Code - - Message - - Errors - additionalProperties: false + description: An array of detail error codes, and messages, and URLs to documentation + to help remediation. ISODateTime: - description: >- - All dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "All dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Links: + required: + - Self type: object - description: Links relevant to the payload properties: Self: type: string @@ -446,13 +532,10 @@ components: Last: type: string format: uri - additionalProperties: false - required: - - Self + description: Links relevant to the payload Meta: title: MetaData type: object - description: Meta Data relevant to the payload properties: TotalPages: type: integer @@ -461,14 +544,146 @@ components: $ref: '#/components/schemas/ISODateTime' LastAvailableDateTime: $ref: '#/components/schemas/ISODateTime' - additionalProperties: false + description: Meta Data relevant to the payload + responses: + 200CallbackUrlsChanged: + description: Callback URL changed + headers: + x-jws-signature: + description: Header containing a detached JWS signature of the body of the + payload. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBCallbackUrlResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBCallbackUrlResponse1' + 200CallbackUrlsRead: + description: An array of callback URLs + headers: + x-jws-signature: + description: Header containing a detached JWS signature of the body of the + payload. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBCallbackUrlsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBCallbackUrlsResponse1' + 201CallbackUrlsCreated: + description: Callback URL created + headers: + x-jws-signature: + description: Header containing a detached JWS signature of the body of the + payload. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBCallbackUrlResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBCallbackUrlResponse1' + 204CallbackUrlsDeleted: + description: Callback URL changed + content: {} + 400ErrorResponse: + description: Bad request + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401ErrorResponse: + description: Unauthorized + content: {} + 403ErrorResponse: + description: Forbidden + content: {} + 404ErrorResponse: + description: Not found + content: {} + 405ErrorResponse: + description: Method Not Allowed + content: {} + 406ErrorResponse: + description: Not Acceptable + content: {} + 415ErrorResponse: + description: Unsupported Media Type + content: {} + 429ErrorResponse: + description: Too Many Requests + headers: + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500ErrorResponse: + description: Internal Server Error + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + parameters: + CallbackUrlId: + name: CallbackUrlId + in: path + description: CallbackUrlId + required: true + schema: + type: string + x-fapi-interaction-id-Param: + name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + AuthorizationParam: + name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + x-jws-signature-Param: + name: x-jws-signature + in: header + description: Header containing a detached JWS signature of the body of the payload. + required: true + schema: + type: string + requestBodies: + OBCallbackUrl1Param: + description: Create an Callback URI + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBCallbackUrl1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBCallbackUrl1' + required: true securitySchemes: TPPOAuth2Security: type: oauth2 description: TPP client credential authorisation flow with the ASPSP flows: clientCredentials: - tokenUrl: 'https://authserver.example/token' + tokenUrl: https://authserver.example/token scopes: accounts: Ability to read Accounts information fundsconfirmations: Ability to confirm funds diff --git a/dist/openapi/confirmation-funds-openapi.json b/dist/openapi/confirmation-funds-openapi.json index 05897e95..8b527b61 100644 --- a/dist/openapi/confirmation-funds-openapi.json +++ b/dist/openapi/confirmation-funds-openapi.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Confirmation of Funds API Specification", - "description": "OpenAPI for Confirmation of Funds API Specification", + "description": "Swagger for Confirmation of Funds API Specification", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,8 +12,13 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1/cbpii" + } + ], "paths": { "/funds-confirmation-consents": { "post": { @@ -24,48 +29,197 @@ "operationId": "CreateFundsConfirmationConsents", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/OBFundsConfirmationConsent1" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201FundsConfirmationConsentsCreated" + "description": "Funds Confirmation Consent Created", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBFundsConfirmationConsentResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -75,9 +229,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBFundsConfirmationConsent1Param" - } + "x-codegen-request-body-name": "OBFundsConfirmationConsent1Param" } }, "/funds-confirmation-consents/{ConsentId}": { @@ -89,48 +241,183 @@ "operationId": "GetFundsConfirmationConsentsConsentId", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200FundsConfirmationConsentsConsentIdRead" + "description": "Funds Confirmation Consent Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBFundsConfirmationConsentResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -149,48 +436,177 @@ "operationId": "DeleteFundsConfirmationConsentsConsentId", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "204": { - "$ref": "#/components/responses/204FundsConfirmationConsentsConsentIdDeleted" + "description": "Funds Confirmation Consent Deleted", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -211,48 +627,197 @@ "operationId": "CreateFundsConfirmations", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/OBFundsConfirmation1" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201FundsConfirmationsCreated" + "description": "Funds Confirmation Created", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBFundsConfirmationResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -262,163 +827,476 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBFundsConfirmation1Param" - } + "x-codegen-request-body-name": "OBFundsConfirmation1Param" } } }, "components": { - "parameters": { - "ConsentId": { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } + "schemas": { + "ISODateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "Authorization": { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - "x-customer-user-agent": { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - }, - "x-fapi-customer-ip-address": { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - "x-fapi-auth-date": { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - "x-fapi-interaction-id": { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-idempotency-key": { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } - }, - "x-jws-signature": { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "A detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - } - }, - "requestBodies": { - "OBFundsConfirmationConsent1Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBFundsConfirmationConsent1" - } + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" } }, - "required": true + "description": "Links relevant to the payload" }, - "OBFundsConfirmation1Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBFundsConfirmation1" - } - } - }, - "required": true - } - }, - "responses": { - "201FundsConfirmationConsentsCreated": { - "description": "Funds Confirmation Consent Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "$ref": "#/components/schemas/ISODateTime" + }, + "LastAvailableDateTime": { + "$ref": "#/components/schemas/ISODateTime" } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBFundsConfirmationConsentResponse1" - } + "description": "Meta Data relevant to the payload" + }, + "OBError1": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } } }, - "200FundsConfirmationConsentsConsentIdRead": { - "description": "Funds Confirmation Consent Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBErrorResponse1": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "$ref": "#/components/schemas/OBError1" } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBFundsConfirmationConsentResponse1" - } - } - } + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." }, - "204FundsConfirmationConsentsConsentIdDeleted": { - "description": "Funds Confirmation Consent Deleted", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBFundsConfirmation1": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "InstructedAmount", + "Reference" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent resource." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be confirmed as available funds in the debtor account. Contains an Amount and a Currency." + } } } } }, - "201FundsConfirmationsCreated": { + "OBFundsConfirmationConsent1": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "DebtorAccount" + ], + "type": "object", + "properties": { + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the funds confirmation authorisation will expire.\n If this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied." + } + } + } + } + }, + "OBFundsConfirmationConsentResponse1": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "DebtorAccount", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned to identify the funds confirmation consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Rejected", + "Revoked" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the funds confirmation authorisation will expire.\nIf this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] + }, + "Identification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + } + }, + "description": "Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied." + } + } + }, + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" + } + } + }, + "OBFundsConfirmationResponse1": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "FundsAvailable", + "FundsConfirmationId", + "InstructedAmount", + "Reference" + ], + "type": "object", + "properties": { + "FundsConfirmationId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FundsAvailable": { + "type": "boolean", + "description": "Flag to indicate the result of a confirmation of funds check." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." + }, + "Currency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." + } + }, + "description": "Amount of money to be confirmed as available funds in the debtor account. Contains an Amount and a Currency." + } + } + }, + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" + } + } + } + }, + "responses": { + "200FundsConfirmationConsentsConsentIdRead": { + "description": "Funds Confirmation Consent Read", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBFundsConfirmationConsentResponse1" + } + } + } + }, + "201FundsConfirmationConsentsCreated": { + "description": "Funds Confirmation Consent Created", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBFundsConfirmationConsentResponse1" + } + } + } + }, + "201FundsConfirmationsCreated": { "description": "Funds Confirmation Created", "headers": { "x-fapi-interaction-id": { @@ -429,13 +1307,25 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { "$ref": "#/components/schemas/OBFundsConfirmationResponse1" } } } }, + "204FundsConfirmationConsentsConsentIdDeleted": { + "description": "Funds Confirmation Consent Deleted", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, "400Error": { "description": "Bad request", "headers": { @@ -447,7 +1337,7 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { "$ref": "#/components/schemas/OBErrorResponse1" } @@ -463,7 +1353,8 @@ "type": "string" } } - } + }, + "content": {} }, "403Error": { "description": "Forbidden", @@ -476,7 +1367,7 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { "$ref": "#/components/schemas/OBErrorResponse1" } @@ -492,7 +1383,8 @@ "type": "string" } } - } + }, + "content": {} }, "405Error": { "description": "Method Not Allowed", @@ -503,7 +1395,8 @@ "type": "string" } } - } + }, + "content": {} }, "406Error": { "description": "Not Acceptable", @@ -514,7 +1407,8 @@ "type": "string" } } - } + }, + "content": {} }, "415Error": { "description": "Unsupported Media Type", @@ -525,24 +1419,26 @@ "type": "string" } } - } + }, + "content": {} }, "429Error": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } - } - } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500Error": { "description": "Internal Server Error", @@ -555,7 +1451,7 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { "$ref": "#/components/schemas/OBErrorResponse1" } @@ -563,440 +1459,101 @@ } } }, - "schemas": { - "ISODateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "parameters": { + "ConsentId": { + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] + "Authorization": { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "$ref": "#/components/schemas/ISODateTime" - }, - "LastAvailableDateTime": { - "$ref": "#/components/schemas/ISODateTime" - } - }, - "additionalProperties": false + "x-customer-user-agent": { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } }, - "OBError1": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 + "x-fapi-customer-ip-address": { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, - "OBErrorResponse1": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "$ref": "#/components/schemas/OBError1" - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "x-fapi-auth-date": { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, - "OBFundsConfirmation1": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "required": [ - "ConsentId", - "Reference", - "InstructedAmount" - ], - "properties": { - "ConsentId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "Reference": { - "description": "Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "InstructedAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be confirmed as available funds in the debtor account. Contains an Amount and a Currency.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } - } - } - }, - "additionalProperties": false + "x-fapi-interaction-id": { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, - "OBFundsConfirmationConsent1": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "required": [ - "DebtorAccount" - ], - "properties": { - "ExpirationDateTime": { - "description": "Specified date and time the funds confirmation authorisation will expire.\n If this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "DebtorAccount": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } - } - } - }, - "additionalProperties": false + "x-idempotency-key": { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, - "OBFundsConfirmationConsentResponse1": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "required": [ - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "DebtorAccount" - ], - "properties": { - "ConsentId": { - "description": "Unique identification as assigned to identify the funds confirmation consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of consent resource in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingAuthorisation", - "Rejected", - "Revoked" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpirationDateTime": { - "description": "Specified date and time the funds confirmation authorisation will expire.\nIf this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "DebtorAccount": { - "type": "object", - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a confirmation of funds consent will be applied.", - "properties": { - "SchemeName": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "Identification": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 - } - } - } + "x-jws-signature": { + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + } + }, + "requestBodies": { + "OBFundsConfirmationConsent1Param": { + "description": "Default", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/OBFundsConfirmationConsent1" } - }, - "Links": { - "$ref": "#/components/schemas/Links" - }, - "Meta": { - "$ref": "#/components/schemas/Meta" } }, - "additionalProperties": false + "required": true }, - "OBFundsConfirmationResponse1": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "required": [ - "FundsConfirmationId", - "ConsentId", - "CreationDateTime", - "FundsAvailable", - "Reference", - "InstructedAmount" - ], - "properties": { - "FundsConfirmationId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ConsentId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the funds confirmation consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FundsAvailable": { - "description": "Flag to indicate the result of a confirmation of funds check.", - "type": "boolean" - }, - "Reference": { - "description": "Unique reference, as assigned by the CBPII, to unambiguously refer to the request related to the payment transaction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "InstructedAmount": { - "type": "object", - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be confirmed as available funds in the debtor account. Contains an Amount and a Currency.", - "properties": { - "Amount": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "Currency": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - } - } - } + "OBFundsConfirmation1Param": { + "description": "Default", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/OBFundsConfirmation1" } - }, - "Links": { - "$ref": "#/components/schemas/Links" - }, - "Meta": { - "$ref": "#/components/schemas/Meta" } }, - "additionalProperties": false + "required": true } }, "securitySchemes": { diff --git a/dist/openapi/confirmation-funds-openapi.yaml b/dist/openapi/confirmation-funds-openapi.yaml index c89407b9..8e67bb1d 100644 --- a/dist/openapi/confirmation-funds-openapi.yaml +++ b/dist/openapi/confirmation-funds-openapi.yaml @@ -1,375 +1,558 @@ openapi: 3.0.1 info: title: Confirmation of Funds API Specification - description: OpenAPI for Confirmation of Funds API Specification - termsOfService: 'https://www.openbanking.org.uk/terms' + description: Swagger for Confirmation of Funds API Specification + termsOfService: https://www.openbanking.org.uk/terms contact: name: Service Desk email: ServiceDesk@openbanking.org.uk license: name: open-licence - url: 'https://www.openbanking.org.uk/open-licence' - version: v3.1.5 + url: https://www.openbanking.org.uk/open-licence + version: v3.1.6 +servers: +- url: /open-banking/v3.1/cbpii paths: /funds-confirmation-consents: post: tags: - - Funds Confirmations + - Funds Confirmations summary: Create Funds Confirmation Consent operationId: CreateFundsConfirmationConsents parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + '*/*': + schema: + $ref: '#/components/schemas/OBFundsConfirmationConsent1' + required: true responses: - '201': - $ref: '#/components/responses/201FundsConfirmationConsentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: Funds Confirmation Consent Created + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBFundsConfirmationConsentResponse1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - fundsconfirmations - requestBody: - $ref: '#/components/requestBodies/OBFundsConfirmationConsent1Param' - '/funds-confirmation-consents/{ConsentId}': + - TPPOAuth2Security: + - fundsconfirmations + x-codegen-request-body-name: OBFundsConfirmationConsent1Param + /funds-confirmation-consents/{ConsentId}: get: tags: - - Funds Confirmations + - Funds Confirmations summary: Get Funds Confirmation Consent operationId: GetFundsConfirmationConsentsConsentId parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200FundsConfirmationConsentsConsentIdRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Funds Confirmation Consent Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBFundsConfirmationConsentResponse1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - fundsconfirmations + - TPPOAuth2Security: + - fundsconfirmations delete: tags: - - Funds Confirmations + - Funds Confirmations summary: Delete Funds Confirmation Consent operationId: DeleteFundsConfirmationConsentsConsentId parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '204': - $ref: '#/components/responses/204FundsConfirmationConsentsConsentIdDeleted' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 204: + description: Funds Confirmation Consent Deleted + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - fundsconfirmations + - TPPOAuth2Security: + - fundsconfirmations /funds-confirmations: post: tags: - - Funds Confirmations + - Funds Confirmations summary: Create Funds Confirmation operationId: CreateFundsConfirmations parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + '*/*': + schema: + $ref: '#/components/schemas/OBFundsConfirmation1' + required: true responses: - '201': - $ref: '#/components/responses/201FundsConfirmationsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: Funds Confirmation Created + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBFundsConfirmationResponse1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - fundsconfirmations - requestBody: - $ref: '#/components/requestBodies/OBFundsConfirmation1Param' + - PSUOAuth2Security: + - fundsconfirmations + x-codegen-request-body-name: OBFundsConfirmation1Param components: - parameters: - ConsentId: - name: ConsentId - in: path - description: ConsentId - required: true - schema: - type: string - Authorization: - in: header - name: Authorization - required: true - description: 'An Authorisation Token as per https://tools.ietf.org/html/rfc6750' - schema: - type: string - x-customer-user-agent: - in: header - name: x-customer-user-agent - description: Indicates the user-agent that the PSU is using. - required: false - schema: - type: string - x-fapi-customer-ip-address: - in: header - name: x-fapi-customer-ip-address - required: false - description: The PSU's IP address if the PSU is currently logged in with the TPP. - schema: - type: string - x-fapi-auth-date: - in: header - name: x-fapi-auth-date - required: false - description: >- - The time when the PSU last logged in with the TPP. - - All dates in the HTTP headers are represented as RFC 7231 Full Dates. An - example is below: - - Sun, 10 Sep 2017 19:43:31 UTC - schema: - type: string - pattern: >- - ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} - (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} - \d{2}:\d{2}:\d{2} (GMT|UTC)$ - x-fapi-interaction-id: - in: header - name: x-fapi-interaction-id - required: false - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-idempotency-key: - name: x-idempotency-key - in: header - description: | - Every request will be processed only once per x-idempotency-key. The - Idempotency Key will be valid for 24 hours. - required: true - schema: - type: string - pattern: ^(?!\s)(.*)(\S)$ - maxLength: 40 - x-jws-signature: - in: header - name: x-jws-signature - required: true - description: A detached JWS signature of the body of the payload. - schema: - type: string - requestBodies: - OBFundsConfirmationConsent1Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBFundsConfirmationConsent1' - required: true - OBFundsConfirmation1Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBFundsConfirmation1' - required: true - responses: - 201FundsConfirmationConsentsCreated: - description: Funds Confirmation Consent Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBFundsConfirmationConsentResponse1' - 200FundsConfirmationConsentsConsentIdRead: - description: Funds Confirmation Consent Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBFundsConfirmationConsentResponse1' - 204FundsConfirmationConsentsConsentIdDeleted: - description: Funds Confirmation Consent Deleted - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 201FundsConfirmationsCreated: - description: Funds Confirmation Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBFundsConfirmationResponse1' - 400Error: - description: Bad request - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBErrorResponse1' - 401Error: - description: Unauthorized - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 403Error: - description: Forbidden - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBErrorResponse1' - 404Error: - description: Not found - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 405Error: - description: Method Not Allowed - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 406Error: - description: Not Acceptable - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 415Error: - description: Unsupported Media Type - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 429Error: - description: Too Many Requests - headers: - Retry-After: - description: Number in seconds to wait - schema: - type: integer - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 500Error: - description: Internal Server Error - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBErrorResponse1' schemas: ISODateTime: - description: >- - All dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "All dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Links: + required: + - Self type: object - description: Links relevant to the payload properties: Self: type: string @@ -386,13 +569,10 @@ components: Last: type: string format: uri - additionalProperties: false - required: - - Self + description: Links relevant to the payload Meta: title: MetaData type: object - description: Meta Data relevant to the payload properties: TotalPages: type: integer @@ -401,441 +581,578 @@ components: $ref: '#/components/schemas/ISODateTime' LastAvailableDateTime: $ref: '#/components/schemas/ISODateTime' - additionalProperties: false + description: Meta Data relevant to the payload OBError1: + required: + - ErrorCode + - Message type: object properties: ErrorCode: - description: 'Low level textual error code, e.g., UK.OBIE.Field.Missing' type: string + description: Low level textual error code, e.g., UK.OBIE.Field.Missing x-namespaced-enum: - - UK.OBIE.Field.Expected - - UK.OBIE.Field.Invalid - - UK.OBIE.Field.InvalidDate - - UK.OBIE.Field.Missing - - UK.OBIE.Field.Unexpected - - UK.OBIE.Header.Invalid - - UK.OBIE.Header.Missing - - UK.OBIE.Reauthenticate - - UK.OBIE.Resource.ConsentMismatch - - UK.OBIE.Resource.InvalidConsentStatus - - UK.OBIE.Resource.InvalidFormat - - UK.OBIE.Resource.NotFound - - UK.OBIE.Rules.AfterCutOffDateTime - - UK.OBIE.Rules.DuplicateReference - - UK.OBIE.Signature.Invalid - - UK.OBIE.Signature.InvalidClaim - - UK.OBIE.Signature.Malformed - - UK.OBIE.Signature.Missing - - UK.OBIE.Signature.MissingClaim - - UK.OBIE.Signature.Unexpected - - UK.OBIE.UnexpectedError - - UK.OBIE.Unsupported.AccountIdentifier - - UK.OBIE.Unsupported.AccountSecondaryIdentifier - - UK.OBIE.Unsupported.Currency - - UK.OBIE.Unsupported.Frequency - - UK.OBIE.Unsupported.LocalInstrument - - UK.OBIE.Unsupported.Scheme + - UK.OBIE.Field.Expected + - UK.OBIE.Field.Invalid + - UK.OBIE.Field.InvalidDate + - UK.OBIE.Field.Missing + - UK.OBIE.Field.Unexpected + - UK.OBIE.Header.Invalid + - UK.OBIE.Header.Missing + - UK.OBIE.Reauthenticate + - UK.OBIE.Resource.ConsentMismatch + - UK.OBIE.Resource.InvalidConsentStatus + - UK.OBIE.Resource.InvalidFormat + - UK.OBIE.Resource.NotFound + - UK.OBIE.Rules.AfterCutOffDateTime + - UK.OBIE.Rules.DuplicateReference + - UK.OBIE.Signature.Invalid + - UK.OBIE.Signature.InvalidClaim + - UK.OBIE.Signature.Malformed + - UK.OBIE.Signature.Missing + - UK.OBIE.Signature.MissingClaim + - UK.OBIE.Signature.Unexpected + - UK.OBIE.UnexpectedError + - UK.OBIE.Unsupported.AccountIdentifier + - UK.OBIE.Unsupported.AccountSecondaryIdentifier + - UK.OBIE.Unsupported.Currency + - UK.OBIE.Unsupported.Frequency + - UK.OBIE.Unsupported.LocalInstrument + - UK.OBIE.Unsupported.Scheme Message: - description: >- - A description of the error that occurred. e.g., 'A mandatory field - isn't supplied' or 'RequestedExecutionDateTime must be in future' - - OBIE doesn't standardise this field - type: string - minLength: 1 maxLength: 500 - Path: - description: >- - Recommended but optional reference to the JSON Path of the field - with error, e.g., Data.Initiation.InstructedAmount.Currency - type: string minLength: 1 + type: string + description: |- + A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future' + OBIE doesn't standardise this field + Path: maxLength: 500 + minLength: 1 + type: string + description: Recommended but optional reference to the JSON Path of the + field with error, e.g., Data.Initiation.InstructedAmount.Currency Url: - description: >- - URL to help remediate the problem, or provide more information, or - to API Reference, or help etc type: string - required: - - ErrorCode - - Message - additionalProperties: false - minProperties: 1 + description: URL to help remediate the problem, or provide more information, + or to API Reference, or help etc OBErrorResponse1: - description: >- - An array of detail error codes, and messages, and URLs to documentation - to help remediation. + required: + - Code + - Errors + - Message type: object properties: Code: - description: 'High level textual error code, to help categorize the errors.' - type: string - minLength: 1 maxLength: 40 - Id: - description: >- - A unique reference for the error instance, for audit purposes, in - case of unknown/unclassified errors. - type: string minLength: 1 - maxLength: 40 - Message: - description: >- - Brief Error message, e.g., 'There is something wrong with the - request parameters provided' type: string + description: High level textual error code, to help categorize the errors. + Id: + maxLength: 40 minLength: 1 + type: string + description: A unique reference for the error instance, for audit purposes, + in case of unknown/unclassified errors. + Message: maxLength: 500 + minLength: 1 + type: string + description: Brief Error message, e.g., 'There is something wrong with the + request parameters provided' Errors: + minItems: 1 + type: array items: $ref: '#/components/schemas/OBError1' - type: array - minItems: 1 - required: - - Code - - Message - - Errors - additionalProperties: false + description: An array of detail error codes, and messages, and URLs to documentation + to help remediation. OBFundsConfirmation1: - type: object required: - - Data + - Data + type: object properties: Data: - type: object required: - - ConsentId - - Reference - - InstructedAmount + - ConsentId + - InstructedAmount + - Reference + type: object properties: ConsentId: - description: >- - Unique identification as assigned by the ASPSP to uniquely - identify the funds confirmation consent resource. - type: string - minLength: 1 maxLength: 128 - Reference: - description: >- - Unique reference, as assigned by the CBPII, to unambiguously - refer to the request related to the payment transaction. - type: string minLength: 1 + type: string + description: Unique identification as assigned by the ASPSP to uniquely + identify the funds confirmation consent resource. + Reference: maxLength: 35 + minLength: 1 + type: string + description: Unique reference, as assigned by the CBPII, to unambiguously + refer to the request related to the payment transaction. InstructedAmount: - type: object required: - - Amount - - Currency - description: >- - Amount of money to be confirmed as available funds in the debtor - account. Contains an Amount and a Currency. + - Amount + - Currency + type: object properties: Amount: - description: >- - A number of monetary units specified in an active currency - where the unit of currency is explicit and compliant with - ISO 4217. + pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$ type: string - pattern: '^\d{1,13}$|^\d{1,13}\.\d{1,5}$' + description: A number of monetary units specified in an active currency + where the unit of currency is explicit and compliant with ISO + 4217. Currency: - description: >- - A code allocated to a currency by a Maintenance Agency under - an international identification scheme, as described in the - latest edition of the international standard ISO 4217 "Codes - for the representation of currencies and funds". + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' - additionalProperties: false + description: A code allocated to a currency by a Maintenance Agency + under an international identification scheme, as described in + the latest edition of the international standard ISO 4217 "Codes + for the representation of currencies and funds". + description: Amount of money to be confirmed as available funds in the + debtor account. Contains an Amount and a Currency. OBFundsConfirmationConsent1: - type: object required: - - Data + - Data + type: object properties: Data: - type: object required: - - DebtorAccount + - DebtorAccount + type: object properties: ExpirationDateTime: - description: >- - Specified date and time the funds confirmation authorisation - will expire. - If this is not populated, the authorisation will be open ended.All dates in the JSON payloads are represented in ISO 8601 date-time format. - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified date and time the funds confirmation authorisation\ + \ will expire.\n If this is not populated, the authorisation will\ + \ be open ended.All dates in the JSON payloads are represented in\ + \ ISO 8601 date-time format. \nAll date-time fields in responses must\ + \ include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time DebtorAccount: - type: object required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to which - a confirmation of funds consent will be applied. + - Identification + - SchemeName + type: object properties: SchemeName: - description: >- - Name of the identification scheme, in a coded form as - published in an external list. type: string + description: Name of the identification scheme, in a coded form + as published in an external list. x-namespaced-enum: - - UK.OBIE.BBAN - - UK.OBIE.IBAN - - UK.OBIE.PAN - - UK.OBIE.Paym - - UK.OBIE.SortCodeAccountNumber + - UK.OBIE.BBAN + - UK.OBIE.IBAN + - UK.OBIE.PAN + - UK.OBIE.Paym + - UK.OBIE.SortCodeAccountNumber Identification: - description: >- - Identification assigned by an institution to identify an - account. This identification is known by the account owner. - type: string - minLength: 1 maxLength: 256 - Name: - description: >- - Name of the account, as assigned by the account servicing - institution. - - Usage: The account name is the name or names of the account - owner(s) represented at an account level. The account name - is not the product name or the nickname of the account. - type: string minLength: 1 - maxLength: 70 - SecondaryIdentification: - description: >- - This is secondary identification of the account, as assigned - by the account servicing institution. - - This can be used by building societies to additionally - identify accounts with a roll number (in addition to a sort - code and account number combination). type: string + description: Identification assigned by an institution to identify + an account. This identification is known by the account owner. + Name: + maxLength: 350 minLength: 1 + type: string + description: |- + Name of the account, as assigned by the account servicing institution. + Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account. + SecondaryIdentification: maxLength: 34 - additionalProperties: false + minLength: 1 + type: string + description: "This is secondary identification of the account, as\ + \ assigned by the account servicing institution. \nThis can be\ + \ used by building societies to additionally identify accounts\ + \ with a roll number (in addition to a sort code and account number\ + \ combination)." + description: Unambiguous identification of the account of the debtor + to which a confirmation of funds consent will be applied. OBFundsConfirmationConsentResponse1: - type: object required: - - Data + - Data + type: object properties: Data: - type: object required: - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - DebtorAccount + - ConsentId + - CreationDateTime + - DebtorAccount + - Status + - StatusUpdateDateTime + type: object properties: ConsentId: - description: >- - Unique identification as assigned to identify the funds - confirmation consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: Unique identification as assigned to identify the funds + confirmation consent resource. CreationDateTime: - description: >- - Date and time at which the resource was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of consent resource in code form. type: string + description: Specifies the status of consent resource in code form. enum: - - Authorised - - AwaitingAuthorisation - - Rejected - - Revoked + - Authorised + - AwaitingAuthorisation + - Rejected + - Revoked StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpirationDateTime: - description: >- - Specified date and time the funds confirmation authorisation - will expire. - - If this is not populated, the authorisation will be open - ended.All dates in the JSON payloads are represented in ISO 8601 - date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified date and time the funds confirmation authorisation\ + \ will expire.\nIf this is not populated, the authorisation will be\ + \ open ended.All dates in the JSON payloads are represented in ISO\ + \ 8601 date-time format. \nAll date-time fields in responses must\ + \ include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time DebtorAccount: - type: object required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to which - a confirmation of funds consent will be applied. + - Identification + - SchemeName + type: object properties: SchemeName: - description: >- - Name of the identification scheme, in a coded form as - published in an external list. type: string + description: Name of the identification scheme, in a coded form + as published in an external list. x-namespaced-enum: - - UK.OBIE.BBAN - - UK.OBIE.IBAN - - UK.OBIE.PAN - - UK.OBIE.Paym - - UK.OBIE.SortCodeAccountNumber + - UK.OBIE.BBAN + - UK.OBIE.IBAN + - UK.OBIE.PAN + - UK.OBIE.Paym + - UK.OBIE.SortCodeAccountNumber Identification: - description: >- - Identification assigned by an institution to identify an - account. This identification is known by the account owner. - type: string - minLength: 1 maxLength: 256 - Name: - description: >- - Name of the account, as assigned by the account servicing - institution. - - Usage: The account name is the name or names of the account - owner(s) represented at an account level. The account name - is not the product name or the nickname of the account. - type: string minLength: 1 - maxLength: 70 - SecondaryIdentification: - description: >- - This is secondary identification of the account, as assigned - by the account servicing institution. - - This can be used by building societies to additionally - identify accounts with a roll number (in addition to a sort - code and account number combination). type: string + description: Identification assigned by an institution to identify + an account. This identification is known by the account owner. + Name: + maxLength: 350 minLength: 1 + type: string + description: |- + Name of the account, as assigned by the account servicing institution. + Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account. + SecondaryIdentification: maxLength: 34 + minLength: 1 + type: string + description: "This is secondary identification of the account, as\ + \ assigned by the account servicing institution. \nThis can be\ + \ used by building societies to additionally identify accounts\ + \ with a roll number (in addition to a sort code and account number\ + \ combination)." + description: Unambiguous identification of the account of the debtor + to which a confirmation of funds consent will be applied. Links: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false OBFundsConfirmationResponse1: - type: object required: - - Data + - Data + type: object properties: Data: - type: object required: - - FundsConfirmationId - - ConsentId - - CreationDateTime - - FundsAvailable - - Reference - - InstructedAmount + - ConsentId + - CreationDateTime + - FundsAvailable + - FundsConfirmationId + - InstructedAmount + - Reference + type: object properties: FundsConfirmationId: - description: >- - Unique identification as assigned by the ASPSP to uniquely - identify the funds confirmation resource. - type: string - minLength: 1 maxLength: 40 - ConsentId: - description: >- - Unique identification as assigned by the ASPSP to uniquely - identify the funds confirmation consent resource. - type: string minLength: 1 + type: string + description: Unique identification as assigned by the ASPSP to uniquely + identify the funds confirmation resource. + ConsentId: maxLength: 128 + minLength: 1 + type: string + description: Unique identification as assigned by the ASPSP to uniquely + identify the funds confirmation consent resource. CreationDateTime: - description: >- - Date and time at which the resource was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time FundsAvailable: - description: Flag to indicate the result of a confirmation of funds check. type: boolean + description: Flag to indicate the result of a confirmation of funds + check. Reference: - description: >- - Unique reference, as assigned by the CBPII, to unambiguously - refer to the request related to the payment transaction. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique reference, as assigned by the CBPII, to unambiguously + refer to the request related to the payment transaction. InstructedAmount: - type: object required: - - Amount - - Currency - description: >- - Amount of money to be confirmed as available funds in the debtor - account. Contains an Amount and a Currency. + - Amount + - Currency + type: object properties: Amount: - description: >- - A number of monetary units specified in an active currency - where the unit of currency is explicit and compliant with - ISO 4217. + pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$ type: string - pattern: '^\d{1,13}$|^\d{1,13}\.\d{1,5}$' + description: A number of monetary units specified in an active currency + where the unit of currency is explicit and compliant with ISO + 4217. Currency: - description: >- - A code allocated to a currency by a Maintenance Agency under - an international identification scheme, as described in the - latest edition of the international standard ISO 4217 "Codes - for the representation of currencies and funds". + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: A code allocated to a currency by a Maintenance Agency + under an international identification scheme, as described in + the latest edition of the international standard ISO 4217 "Codes + for the representation of currencies and funds". + description: Amount of money to be confirmed as available funds in the + debtor account. Contains an Amount and a Currency. Links: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' - additionalProperties: false + responses: + 200FundsConfirmationConsentsConsentIdRead: + description: Funds Confirmation Consent Read + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBFundsConfirmationConsentResponse1' + 201FundsConfirmationConsentsCreated: + description: Funds Confirmation Consent Created + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBFundsConfirmationConsentResponse1' + 201FundsConfirmationsCreated: + description: Funds Confirmation Created + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBFundsConfirmationResponse1' + 204FundsConfirmationConsentsConsentIdDeleted: + description: Funds Confirmation Consent Deleted + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 400Error: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401Error: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403Error: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404Error: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405Error: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406Error: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415Error: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429Error: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500Error: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + parameters: + ConsentId: + name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + Authorization: + name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + x-customer-user-agent: + name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + x-fapi-customer-ip-address: + name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + x-fapi-auth-date: + name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example is\ + \ below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + x-fapi-interaction-id: + name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + x-idempotency-key: + name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + x-jws-signature: + name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + requestBodies: + OBFundsConfirmationConsent1Param: + description: Default + content: + '*/*': + schema: + $ref: '#/components/schemas/OBFundsConfirmationConsent1' + required: true + OBFundsConfirmation1Param: + description: Default + content: + '*/*': + schema: + $ref: '#/components/schemas/OBFundsConfirmation1' + required: true securitySchemes: TPPOAuth2Security: type: oauth2 description: TPP client credential authorisation flow with the ASPSP flows: clientCredentials: - tokenUrl: 'https://authserver.example/token' + tokenUrl: https://authserver.example/token scopes: fundsconfirmations: Funds confirmation entitlement PSUOAuth2Security: type: oauth2 - description: >- - OAuth flow, it is required when the PSU needs to perform SCA with the - ASPSP when a TPP wants to access an ASPSP resource owned by the PSU + description: OAuth flow, it is required when the PSU needs to perform SCA with + the ASPSP when a TPP wants to access an ASPSP resource owned by the PSU flows: authorizationCode: - authorizationUrl: 'https://authserver.example/authorization' - tokenUrl: 'https://authserver.example/token' + authorizationUrl: https://authserver.example/authorization + tokenUrl: https://authserver.example/token scopes: fundsconfirmations: Funds confirmation entitlement diff --git a/dist/openapi/event-notifications-openapi.json b/dist/openapi/event-notifications-openapi.json index c54a23e1..141f137e 100644 --- a/dist/openapi/event-notifications-openapi.json +++ b/dist/openapi/event-notifications-openapi.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Event Notification API Specification - TPP Endpoints", - "description": "OpenAPI for Event Notification API Specification - TPP Endpoints", + "description": "Swagger for Event Notification API Specification - TPP Endpoints", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,217 +12,236 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1" + } + ], "paths": { "/event-notifications": { "post": { - "summary": "Send an event notification", - "operationId": "CreateEventNotification", "tags": [ "Event Notification" ], + "summary": "Send an event notification", + "operationId": "CreateEventNotification", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-financial-id-Param" + "name": "x-fapi-financial-id", + "in": "header", + "description": "The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id-Param" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Create an Callback URI", + "content": { + "application/jwt": { + "schema": { + "type": "string", + "format": "base64" + } + } + }, + "required": true + }, "responses": { "202": { - "description": "Accepted" + "description": "Accepted", + "content": {} } }, - "requestBody": { - "$ref": "#/components/requestBodies/OBEventNotification1Param" - } + "x-codegen-request-body-name": "OBEventNotification1Param" } } }, "components": { - "parameters": { - "x-fapi-financial-id-Param": { - "in": "header", - "name": "x-fapi-financial-id", - "required": true, - "description": "The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.", - "schema": { - "type": "string" - } - }, - "x-fapi-interaction-id-Param": { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - }, - "requestBodies": { - "OBEventNotification1Param": { - "description": "Create an Callback URI", - "content": { - "application/json": { - "schema": { - "type": "string", - "format": "base64" - } - } - }, - "required": true - } - }, - "responses": {}, "schemas": { "OBEvent1": { - "description": "Events.", + "required": [ + "urn:uk:org:openbanking:events:resource-update" + ], "type": "object", "properties": { "urn:uk:org:openbanking:events:resource-update": { "$ref": "#/components/schemas/OBEventResourceUpdate1" } }, - "required": [ - "urn:uk:org:openbanking:events:resource-update" - ], - "additionalProperties": false + "description": "Events." }, "OBEventLink1": { - "description": "Resource links to other available versions of the resource.", + "required": [ + "link", + "version" + ], "type": "object", "properties": { "version": { - "description": "Resource version.", - "type": "string", + "maxLength": 10, "minLength": 1, - "maxLength": 10 + "type": "string", + "description": "Resource version." }, "link": { - "description": "Resource link.", - "type": "string" + "type": "string", + "description": "Resource link." } }, - "required": [ - "version", - "link" - ], - "additionalProperties": false, - "minProperties": 1 + "description": "Resource links to other available versions of the resource." }, "OBEventNotification1": { - "description": "The resource-update event.", + "required": [ + "aud", + "events", + "iat", + "iss", + "jti", + "sub", + "toe", + "txn" + ], "type": "object", "properties": { "iss": { - "description": "Issuer.", - "type": "string" + "type": "string", + "description": "Issuer." }, "iat": { - "description": "Issued At. ", + "minimum": 0, "type": "integer", - "format": "int32", - "minimum": 0 + "description": "Issued At. ", + "format": "int32" }, "jti": { - "description": "JWT ID.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "JWT ID." }, "aud": { - "description": "Audience.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Audience." }, "sub": { - "description": "Subject", "type": "string", + "description": "Subject", "format": "uri" }, "txn": { - "description": "Transaction Identifier.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Transaction Identifier." }, "toe": { - "description": "Time of Event.", + "minimum": 0, "type": "integer", - "format": "int32", - "minimum": 0 + "description": "Time of Event.", + "format": "int32" }, "events": { "$ref": "#/components/schemas/OBEvent1" } }, - "required": [ - "iss", - "iat", - "jti", - "aud", - "sub", - "txn", - "toe", - "events" - ], - "additionalProperties": false + "description": "The resource-update event." }, "OBEventResourceUpdate1": { - "description": "Resource-Update Event.", + "required": [ + "subject" + ], "type": "object", "properties": { "subject": { "$ref": "#/components/schemas/OBEventSubject1" } }, - "required": [ - "subject" - ], - "additionalProperties": false + "description": "Resource-Update Event." }, "OBEventSubject1": { - "description": "The resource-update event.", + "required": [ + "http://openbanking.org.uk/rid", + "http://openbanking.org.uk/rlk", + "http://openbanking.org.uk/rty", + "subject_type" + ], "type": "object", "properties": { "subject_type": { - "description": "Subject type for the updated resource. ", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Subject type for the updated resource. " }, "http://openbanking.org.uk/rid": { - "description": "Resource Id for the updated resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Resource Id for the updated resource." }, "http://openbanking.org.uk/rty": { - "description": "Resource Type for the updated resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Resource Type for the updated resource." }, "http://openbanking.org.uk/rlk": { - "items": { - "$ref": "#/components/schemas/OBEventLink1" - }, + "minItems": 1, "type": "array", "description": "Resource links to other available versions of the resource.", - "minItems": 1 + "items": { + "$ref": "#/components/schemas/OBEventLink1" + } } }, - "required": [ - "subject_type", - "http://openbanking.org.uk/rid", - "http://openbanking.org.uk/rty", - "http://openbanking.org.uk/rlk" - ], - "additionalProperties": false + "description": "The resource-update event." + } + }, + "parameters": { + "x-fapi-financial-id-Param": { + "name": "x-fapi-financial-id", + "in": "header", + "description": "The unique id of the ASPSP to which the request is issued. The unique id will be issued by OB.", + "required": true, + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id-Param": { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "requestBodies": { + "OBEventNotification1Param": { + "description": "Create an Callback URI", + "content": { + "*/*": { + "schema": { + "type": "string", + "format": "base64" + } + } + }, + "required": true } }, "securitySchemes": { @@ -242,4 +261,4 @@ } } } -} \ No newline at end of file +} diff --git a/dist/openapi/event-notifications-openapi.yaml b/dist/openapi/event-notifications-openapi.yaml index 7bb31ec1..9fcc10d9 100644 --- a/dist/openapi/event-notifications-openapi.yaml +++ b/dist/openapi/event-notifications-openapi.yaml @@ -1,180 +1,191 @@ openapi: 3.0.1 info: title: Event Notification API Specification - TPP Endpoints - description: OpenAPI for Event Notification API Specification - TPP Endpoints - termsOfService: 'https://www.openbanking.org.uk/terms' + description: Swagger for Event Notification API Specification - TPP Endpoints + termsOfService: https://www.openbanking.org.uk/terms contact: name: Service Desk email: ServiceDesk@openbanking.org.uk license: name: open-licence - url: 'https://www.openbanking.org.uk/open-licence' - version: v3.1.5 + url: https://www.openbanking.org.uk/open-licence + version: v3.1.6 +servers: +- url: /open-banking/v3.1 paths: /event-notifications: post: + tags: + - Event Notification summary: Send an event notification operationId: CreateEventNotification - tags: - - Event Notification parameters: - - $ref: '#/components/parameters/x-fapi-financial-id-Param' - - $ref: '#/components/parameters/x-fapi-interaction-id-Param' + - name: x-fapi-financial-id + in: header + description: The unique id of the ASPSP to which the request is issued. The + unique id will be issued by OB. + required: true + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + requestBody: + description: Create an Callback URI + content: + application/jwt: + schema: + type: string + format: base64 + required: true responses: - '202': + 202: description: Accepted - requestBody: - $ref: '#/components/requestBodies/OBEventNotification1Param' + content: {} + x-codegen-request-body-name: OBEventNotification1Param components: - parameters: - x-fapi-financial-id-Param: - in: header - name: x-fapi-financial-id - required: true - description: >- - The unique id of the ASPSP to which the request is issued. The unique id - will be issued by OB. - schema: - type: string - x-fapi-interaction-id-Param: - in: header - name: x-fapi-interaction-id - required: false - description: An RFC4122 UID used as a correlation id. - schema: - type: string - requestBodies: - OBEventNotification1Param: - description: Create an Callback URI - content: - application/json: - schema: - type: string - format: base64 - required: true - responses: {} schemas: OBEvent1: - description: Events. + required: + - urn:uk:org:openbanking:events:resource-update type: object properties: - 'urn:uk:org:openbanking:events:resource-update': + urn:uk:org:openbanking:events:resource-update: $ref: '#/components/schemas/OBEventResourceUpdate1' - required: - - 'urn:uk:org:openbanking:events:resource-update' - additionalProperties: false + description: Events. OBEventLink1: - description: Resource links to other available versions of the resource. + required: + - link + - version type: object properties: version: - description: Resource version. - type: string - minLength: 1 maxLength: 10 + minLength: 1 + type: string + description: Resource version. link: - description: Resource link. type: string - required: - - version - - link - additionalProperties: false - minProperties: 1 + description: Resource link. + description: Resource links to other available versions of the resource. OBEventNotification1: - description: The resource-update event. + required: + - aud + - events + - iat + - iss + - jti + - sub + - toe + - txn type: object properties: iss: - description: Issuer. type: string + description: Issuer. iat: - description: 'Issued At. ' + minimum: 0 type: integer + description: 'Issued At. ' format: int32 - minimum: 0 jti: - description: JWT ID. - type: string - minLength: 1 maxLength: 128 - aud: - description: Audience. - type: string minLength: 1 + type: string + description: JWT ID. + aud: maxLength: 128 + minLength: 1 + type: string + description: Audience. sub: - description: Subject type: string + description: Subject format: uri txn: - description: Transaction Identifier. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: Transaction Identifier. toe: - description: Time of Event. + minimum: 0 type: integer + description: Time of Event. format: int32 - minimum: 0 events: $ref: '#/components/schemas/OBEvent1' - required: - - iss - - iat - - jti - - aud - - sub - - txn - - toe - - events - additionalProperties: false + description: The resource-update event. OBEventResourceUpdate1: - description: Resource-Update Event. + required: + - subject type: object properties: subject: $ref: '#/components/schemas/OBEventSubject1' - required: - - subject - additionalProperties: false + description: Resource-Update Event. OBEventSubject1: - description: The resource-update event. + required: + - http://openbanking.org.uk/rid + - http://openbanking.org.uk/rlk + - http://openbanking.org.uk/rty + - subject_type type: object properties: subject_type: - description: 'Subject type for the updated resource. ' - type: string - minLength: 1 maxLength: 128 - 'http://openbanking.org.uk/rid': - description: Resource Id for the updated resource. - type: string minLength: 1 - maxLength: 128 - 'http://openbanking.org.uk/rty': - description: Resource Type for the updated resource. type: string + description: 'Subject type for the updated resource. ' + http://openbanking.org.uk/rid: + maxLength: 128 minLength: 1 + type: string + description: Resource Id for the updated resource. + http://openbanking.org.uk/rty: maxLength: 128 - 'http://openbanking.org.uk/rlk': - items: - $ref: '#/components/schemas/OBEventLink1' + minLength: 1 + type: string + description: Resource Type for the updated resource. + http://openbanking.org.uk/rlk: + minItems: 1 type: array description: Resource links to other available versions of the resource. - minItems: 1 - required: - - subject_type - - 'http://openbanking.org.uk/rid' - - 'http://openbanking.org.uk/rty' - - 'http://openbanking.org.uk/rlk' - additionalProperties: false + items: + $ref: '#/components/schemas/OBEventLink1' + description: The resource-update event. + parameters: + x-fapi-financial-id-Param: + name: x-fapi-financial-id + in: header + description: The unique id of the ASPSP to which the request is issued. The + unique id will be issued by OB. + required: true + schema: + type: string + x-fapi-interaction-id-Param: + name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + requestBodies: + OBEventNotification1Param: + description: Create an Callback URI + content: + '*/*': + schema: + type: string + format: base64 + required: true securitySchemes: TPPOAuth2Security: type: oauth2 description: TPP client credential authorisation flow with the ASPSP flows: clientCredentials: - tokenUrl: 'https://authserver.example/token' + tokenUrl: https://authserver.example/token scopes: accounts: Ability to read Accounts information fundsconfirmations: Ability to confirm funds diff --git a/dist/openapi/event-subscriptions-openapi.json b/dist/openapi/event-subscriptions-openapi.json index 5edffe7c..4a317376 100644 --- a/dist/openapi/event-subscriptions-openapi.json +++ b/dist/openapi/event-subscriptions-openapi.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Event Subscription API Specification - ASPSP Endpoints", - "description": "OpenAPI for Event Subscription API Specification - ASPSP Endpoints", + "description": "Swagger for Event Subscription API Specification - ASPSP Endpoints", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,69 +12,229 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1" + } + ], "paths": { "/event-subscriptions": { - "post": { + "get": { "tags": [ "Event Subscriptions" ], - "summary": "Create Event Subscription", - "operationId": "CreateEventSubscriptions", + "summary": "Get Event Subscription", + "operationId": "GetEventSubscriptions", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" - }, - { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { - "201": { - "$ref": "#/components/responses/201EventSubscriptionsCreated" + "200": { + "description": "Event Subscription Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionsResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" - }, - "409": { - "$ref": "#/components/responses/409Error" - }, - "415": { - "$ref": "#/components/responses/415Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -85,61 +245,271 @@ "fundsconfirmations" ] } - ], - "requestBody": { - "$ref": "#/components/requestBodies/OBEventSubscription1Param" - } + ] }, - "get": { + "post": { "tags": [ "Event Subscriptions" ], - "summary": "Get Event Subscription", - "operationId": "GetEventSubscriptions", + "summary": "Create Event Subscription", + "operationId": "CreateEventSubscriptions", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscription1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscription1" + } + } + }, + "required": true + }, "responses": { - "200": { - "$ref": "#/components/responses/200EventSubscriptionsRead" + "201": { + "description": "Event Subscription Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "409": { + "description": "Conflict", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "415": { + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -150,7 +520,8 @@ "fundsconfirmations" ] } - ] + ], + "x-codegen-request-body-name": "OBEventSubscription1Param" } }, "/event-subscriptions/{EventSubscriptionId}": { @@ -162,57 +533,258 @@ "operationId": "ChangeEventSubscriptionsEventSubscriptionId", "parameters": [ { - "$ref": "#/components/parameters/EventSubscriptionId" + "name": "EventSubscriptionId", + "in": "path", + "description": "EventSubscriptionId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionResponse1" + } + } + }, + "required": true + }, "responses": { "200": { - "$ref": "#/components/responses/200EventSubscriptionsEventSubscriptionIdChanged" + "description": "Event Subscription Changed", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" - }, - "401": { - "$ref": "#/components/responses/401Error" - }, - "403": { - "$ref": "#/components/responses/403Error" - }, - "404": { - "$ref": "#/components/responses/404Error" - }, - "405": { - "$ref": "#/components/responses/405Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -224,9 +796,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBEventSubscriptionResponse1Param" - } + "x-codegen-request-body-name": "OBEventSubscriptionResponse1Param" }, "delete": { "tags": [ @@ -236,51 +806,204 @@ "operationId": "DeleteEventSubscriptionsEventSubscriptionId", "parameters": [ { - "$ref": "#/components/parameters/EventSubscriptionId" + "name": "EventSubscriptionId", + "in": "path", + "description": "EventSubscriptionId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "204": { - "$ref": "#/components/responses/204EventSubscriptionsEventSubscriptionIdDeleted" + "description": "Event Subscription Deleted", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -296,126 +1019,310 @@ } }, "components": { - "parameters": { - "EventSubscriptionId": { - "name": "EventSubscriptionId", - "in": "path", - "description": "EventSubscriptionId", - "required": true, - "schema": { - "type": "string" - } - }, - "Authorization": { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } - }, - "x-customer-user-agent": { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } - }, - "x-fapi-customer-ip-address": { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } - }, - "x-fapi-auth-date": { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } - }, - "x-fapi-interaction-id": { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "schemas": { + "ISODateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "x-idempotency-key": { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" + } + }, + "description": "Links relevant to the payload" }, - "x-jws-signature": { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "A detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - } - }, - "requestBodies": { - "OBEventSubscription1Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBEventSubscription1" - } + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "$ref": "#/components/schemas/ISODateTime" + }, + "LastAvailableDateTime": { + "$ref": "#/components/schemas/ISODateTime" } }, - "required": true + "description": "Meta Data relevant to the payload" }, - "OBEventSubscriptionResponse1Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBEventSubscriptionResponse1" + "OBError1": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" + } + } + }, + "OBErrorResponse1": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "$ref": "#/components/schemas/OBError1" } } }, - "required": true + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." + }, + "OBEventSubscription1": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Version" + ], + "type": "object", + "properties": { + "CallbackUrl": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "format": "uri" + }, + "Version": { + "$ref": "#/components/schemas/Version" + }, + "EventTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Array of event types the subscription applies to." + } + } + } + } + } + }, + "OBEventSubscriptionResponse1": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "EventSubscriptionId", + "Version" + ], + "type": "object", + "properties": { + "EventSubscriptionId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback URL resource." + }, + "CallbackUrl": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "format": "uri" + }, + "Version": { + "$ref": "#/components/schemas/Version" + }, + "EventTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Array of event types the subscription applies to." + } + } + } + }, + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" + } + } + }, + "OBEventSubscriptionsResponse1": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "type": "object", + "properties": { + "EventSubscription": { + "type": "array", + "items": { + "required": [ + "EventSubscriptionId", + "Version" + ], + "type": "object", + "properties": { + "EventSubscriptionId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource." + }, + "CallbackUrl": { + "type": "string", + "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", + "format": "uri" + }, + "Version": { + "$ref": "#/components/schemas/Version" + }, + "EventTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Array of event types the subscription applies to." + } + } + } + } + } + } + }, + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" + } + } + }, + "Version": { + "maxLength": 10, + "minLength": 1, + "type": "string", + "description": "Version for the event notification." } }, "responses": { - "201EventSubscriptionsCreated": { - "description": "Event Subscription Created", + "200EventSubscriptionsEventSubscriptionIdChanged": { + "description": "Event Subscription Changed", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionResponse1" + } + }, + "application/jose+jwe": { "schema": { "$ref": "#/components/schemas/OBEventSubscriptionResponse1" } @@ -425,45 +1332,55 @@ "200EventSubscriptionsRead": { "description": "Event Subscription Read", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionsResponse1" + } + }, + "application/jose+jwe": { "schema": { "$ref": "#/components/schemas/OBEventSubscriptionsResponse1" } } } }, - "200EventSubscriptionsEventSubscriptionIdChanged": { - "description": "Event Subscription Changed", + "201EventSubscriptionsCreated": { + "description": "Event Subscription Created", "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", "schema": { "type": "string" } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } } }, "content": { - "application/json": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionResponse1" + } + }, + "application/jose+jwe": { "schema": { "$ref": "#/components/schemas/OBEventSubscriptionResponse1" } @@ -479,7 +1396,8 @@ "type": "string" } } - } + }, + "content": {} }, "400Error": { "description": "Bad request", @@ -492,7 +1410,12 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { "schema": { "$ref": "#/components/schemas/OBErrorResponse1" } @@ -508,7 +1431,8 @@ "type": "string" } } - } + }, + "content": {} }, "403Error": { "description": "Forbidden", @@ -521,12 +1445,17 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { "schema": { "$ref": "#/components/schemas/OBErrorResponse1" } - } - } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404Error": { "description": "Not found", @@ -537,7 +1466,8 @@ "type": "string" } } - } + }, + "content": {} }, "405Error": { "description": "Method Not Allowed", @@ -548,7 +1478,8 @@ "type": "string" } } - } + }, + "content": {} }, "406Error": { "description": "Not Acceptable", @@ -559,7 +1490,8 @@ "type": "string" } } - } + }, + "content": {} }, "409Error": { "description": "Conflict", @@ -570,7 +1502,8 @@ "type": "string" } } - } + }, + "content": {} }, "415Error": { "description": "Unsupported Media Type", @@ -581,24 +1514,26 @@ "type": "string" } } - } + }, + "content": {} }, "429Error": { "description": "Too Many Requests", "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" - } - }, "x-fapi-interaction-id": { "description": "An RFC4122 UID used as a correlation id.", "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } } - } + }, + "content": {} }, "500Error": { "description": "Internal Server Error", @@ -611,7 +1546,12 @@ } }, "content": { - "application/json": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { "schema": { "$ref": "#/components/schemas/OBErrorResponse1" } @@ -619,292 +1559,111 @@ } } }, - "schemas": { - "ISODateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "parameters": { + "EventSubscriptionId": { + "name": "EventSubscriptionId", + "in": "path", + "description": "EventSubscriptionId", + "required": true, + "schema": { + "type": "string" + } }, - "Links": { - "type": "object", - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "additionalProperties": false, - "required": [ - "Self" - ] + "Authorization": { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, - "Meta": { - "title": "MetaData", - "type": "object", - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "$ref": "#/components/schemas/ISODateTime" - }, - "LastAvailableDateTime": { - "$ref": "#/components/schemas/ISODateTime" - } - }, - "additionalProperties": false + "x-customer-user-agent": { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } }, - "OBError1": { - "type": "object", - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, - "required": [ - "ErrorCode", - "Message" - ], - "additionalProperties": false, - "minProperties": 1 + "x-fapi-customer-ip-address": { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, - "OBErrorResponse1": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", - "type": "object", - "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "$ref": "#/components/schemas/OBError1" - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ], - "additionalProperties": false + "x-fapi-auth-date": { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, - "OBEventSubscription1": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "required": [ - "Version" - ], - "properties": { - "CallbackUrl": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string", - "format": "uri" - }, - "Version": { - "$ref": "#/components/schemas/Version" - }, - "EventTypes": { - "type": "array", - "items": { - "description": "Array of event types the subscription applies to.", - "type": "string" - } - } - } - } - }, - "additionalProperties": false + "x-fapi-interaction-id": { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, - "OBEventSubscriptionResponse1": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "required": [ - "EventSubscriptionId", - "Version" - ], - "properties": { - "EventSubscriptionId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback URL resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "CallbackUrl": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string", - "format": "uri" - }, - "Version": { - "$ref": "#/components/schemas/Version" - }, - "EventTypes": { - "type": "array", - "items": { - "description": "Array of event types the subscription applies to.", - "type": "string" - } - } - }, - "additionalProperties": false - }, - "Links": { - "$ref": "#/components/schemas/Links" - }, - "Meta": { - "$ref": "#/components/schemas/Meta" - } + "x-idempotency-key": { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" } }, - "OBEventSubscriptionsResponse1": { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "properties": { - "EventSubscription": { - "type": "array", - "items": { - "type": "object", - "required": [ - "EventSubscriptionId", - "Version" - ], - "properties": { - "EventSubscriptionId": { - "description": "Unique identification as assigned by the ASPSP to uniquely identify the callback url resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "CallbackUrl": { - "description": "Callback URL for a TPP hosted service. Will be used by ASPSPs, in conjunction with the resource name, to construct a URL to send event notifications to.", - "type": "string", - "format": "uri" - }, - "Version": { - "$ref": "#/components/schemas/Version" - }, - "EventTypes": { - "type": "array", - "items": { - "description": "Array of event types the subscription applies to.", - "type": "string" - } - } - } - } - } + "x-jws-signature": { + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + } + }, + "requestBodies": { + "OBEventSubscription1Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscription1" } }, - "Links": { - "$ref": "#/components/schemas/Links" - }, - "Meta": { - "$ref": "#/components/schemas/Meta" + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscription1" + } } }, - "additionalProperties": false + "required": true }, - "Version": { - "description": "Version for the event notification.", - "type": "string", - "minLength": 1, - "maxLength": 10 + "OBEventSubscriptionResponse1Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBEventSubscriptionResponse1" + } + } + }, + "required": true } }, "securitySchemes": { diff --git a/dist/openapi/event-subscriptions-openapi.yaml b/dist/openapi/event-subscriptions-openapi.yaml index c24dfc2c..3f9555a4 100644 --- a/dist/openapi/event-subscriptions-openapi.yaml +++ b/dist/openapi/event-subscriptions-openapi.yaml @@ -1,311 +1,954 @@ openapi: 3.0.1 info: title: Event Subscription API Specification - ASPSP Endpoints - description: OpenAPI for Event Subscription API Specification - ASPSP Endpoints - termsOfService: 'https://www.openbanking.org.uk/terms' + description: Swagger for Event Subscription API Specification - ASPSP Endpoints + termsOfService: https://www.openbanking.org.uk/terms contact: name: Service Desk email: ServiceDesk@openbanking.org.uk license: name: open-licence - url: 'https://www.openbanking.org.uk/open-licence' - version: v3.1.5 + url: https://www.openbanking.org.uk/open-licence + version: v3.1.6 +servers: +- url: /open-banking/v3.1 paths: /event-subscriptions: - post: + get: tags: - - Event Subscriptions - summary: Create Event Subscription - operationId: CreateEventSubscriptions + - Event Subscriptions + summary: Get Event Subscription + operationId: GetEventSubscriptions parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '201': - $ref: '#/components/responses/201EventSubscriptionsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '409': - $ref: '#/components/responses/409Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Event Subscription Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventSubscriptionsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBEventSubscriptionsResponse1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - accounts - - payments - - fundsconfirmations - requestBody: - $ref: '#/components/requestBodies/OBEventSubscription1Param' - get: + - TPPOAuth2Security: + - accounts + - payments + - fundsconfirmations + post: tags: - - Event Subscriptions - summary: Get Event Subscription - operationId: GetEventSubscriptions + - Event Subscriptions + summary: Create Event Subscription + operationId: CreateEventSubscriptions parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventSubscription1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBEventSubscription1' + required: true responses: - '200': - $ref: '#/components/responses/200EventSubscriptionsRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: Event Subscription Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventSubscriptionResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBEventSubscriptionResponse1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 409: + description: Conflict + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - accounts - - payments - - fundsconfirmations - '/event-subscriptions/{EventSubscriptionId}': + - TPPOAuth2Security: + - accounts + - payments + - fundsconfirmations + x-codegen-request-body-name: OBEventSubscription1Param + /event-subscriptions/{EventSubscriptionId}: put: tags: - - Event Subscriptions + - Event Subscriptions summary: Change Event Subscription operationId: ChangeEventSubscriptionsEventSubscriptionId parameters: - - $ref: '#/components/parameters/EventSubscriptionId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: EventSubscriptionId + in: path + description: EventSubscriptionId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventSubscriptionResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBEventSubscriptionResponse1' + required: true responses: - '200': - $ref: >- - #/components/responses/200EventSubscriptionsEventSubscriptionIdChanged - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Event Subscription Changed + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventSubscriptionResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBEventSubscriptionResponse1' + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - accounts - - payments - - fundsconfirmations - requestBody: - $ref: '#/components/requestBodies/OBEventSubscriptionResponse1Param' + - TPPOAuth2Security: + - accounts + - payments + - fundsconfirmations + x-codegen-request-body-name: OBEventSubscriptionResponse1Param delete: tags: - - Event Subscriptions + - Event Subscriptions summary: Delete Event Subscription operationId: DeleteEventSubscriptionsEventSubscriptionId parameters: - - $ref: '#/components/parameters/EventSubscriptionId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: EventSubscriptionId + in: path + description: EventSubscriptionId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '204': - $ref: >- - #/components/responses/204EventSubscriptionsEventSubscriptionIdDeleted - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 204: + description: Event Subscription Deleted + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 400: + description: Bad request + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - accounts - - payments - - fundsconfirmations + - TPPOAuth2Security: + - accounts + - payments + - fundsconfirmations components: - parameters: - EventSubscriptionId: - name: EventSubscriptionId - in: path - description: EventSubscriptionId - required: true - schema: - type: string - Authorization: - in: header - name: Authorization - required: true - description: 'An Authorisation Token as per https://tools.ietf.org/html/rfc6750' - schema: - type: string - x-customer-user-agent: - in: header - name: x-customer-user-agent - description: Indicates the user-agent that the PSU is using. - required: false - schema: - type: string - x-fapi-customer-ip-address: - in: header - name: x-fapi-customer-ip-address - required: false - description: The PSU's IP address if the PSU is currently logged in with the TPP. - schema: - type: string - x-fapi-auth-date: - in: header - name: x-fapi-auth-date - required: false - description: >- - The time when the PSU last logged in with the TPP. - - All dates in the HTTP headers are represented as RFC 7231 Full Dates. An - example is below: - - Sun, 10 Sep 2017 19:43:31 UTC - schema: - type: string - pattern: >- - ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} - (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} - \d{2}:\d{2}:\d{2} (GMT|UTC)$ - x-fapi-interaction-id: - in: header - name: x-fapi-interaction-id - required: false - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-idempotency-key: - name: x-idempotency-key - in: header - description: | - Every request will be processed only once per x-idempotency-key. The - Idempotency Key will be valid for 24 hours. - required: true - schema: - type: string - pattern: ^(?!\s)(.*)(\S)$ - maxLength: 40 - x-jws-signature: - in: header - name: x-jws-signature - required: true - description: A detached JWS signature of the body of the payload. - schema: - type: string - requestBodies: - OBEventSubscription1Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBEventSubscription1' - required: true - OBEventSubscriptionResponse1Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBEventSubscriptionResponse1' - required: true + schemas: + ISODateTime: + type: string + description: "All dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" + format: date-time + Links: + required: + - Self + type: object + properties: + Self: + type: string + format: uri + First: + type: string + format: uri + Prev: + type: string + format: uri + Next: + type: string + format: uri + Last: + type: string + format: uri + description: Links relevant to the payload + Meta: + title: MetaData + type: object + properties: + TotalPages: + type: integer + format: int32 + FirstAvailableDateTime: + $ref: '#/components/schemas/ISODateTime' + LastAvailableDateTime: + $ref: '#/components/schemas/ISODateTime' + description: Meta Data relevant to the payload + OBError1: + required: + - ErrorCode + - Message + type: object + properties: + ErrorCode: + type: string + description: Low level textual error code, e.g., UK.OBIE.Field.Missing + x-namespaced-enum: + - UK.OBIE.Field.Expected + - UK.OBIE.Field.Invalid + - UK.OBIE.Field.InvalidDate + - UK.OBIE.Field.Missing + - UK.OBIE.Field.Unexpected + - UK.OBIE.Header.Invalid + - UK.OBIE.Header.Missing + - UK.OBIE.Reauthenticate + - UK.OBIE.Resource.ConsentMismatch + - UK.OBIE.Resource.InvalidConsentStatus + - UK.OBIE.Resource.InvalidFormat + - UK.OBIE.Resource.NotFound + - UK.OBIE.Rules.AfterCutOffDateTime + - UK.OBIE.Rules.DuplicateReference + - UK.OBIE.Signature.Invalid + - UK.OBIE.Signature.InvalidClaim + - UK.OBIE.Signature.Malformed + - UK.OBIE.Signature.Missing + - UK.OBIE.Signature.MissingClaim + - UK.OBIE.Signature.Unexpected + - UK.OBIE.UnexpectedError + - UK.OBIE.Unsupported.AccountIdentifier + - UK.OBIE.Unsupported.AccountSecondaryIdentifier + - UK.OBIE.Unsupported.Currency + - UK.OBIE.Unsupported.Frequency + - UK.OBIE.Unsupported.LocalInstrument + - UK.OBIE.Unsupported.Scheme + Message: + maxLength: 500 + minLength: 1 + type: string + description: |- + A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future' + OBIE doesn't standardise this field + Path: + maxLength: 500 + minLength: 1 + type: string + description: Recommended but optional reference to the JSON Path of the + field with error, e.g., Data.Initiation.InstructedAmount.Currency + Url: + type: string + description: URL to help remediate the problem, or provide more information, + or to API Reference, or help etc + OBErrorResponse1: + required: + - Code + - Errors + - Message + type: object + properties: + Code: + maxLength: 40 + minLength: 1 + type: string + description: High level textual error code, to help categorize the errors. + Id: + maxLength: 40 + minLength: 1 + type: string + description: A unique reference for the error instance, for audit purposes, + in case of unknown/unclassified errors. + Message: + maxLength: 500 + minLength: 1 + type: string + description: Brief Error message, e.g., 'There is something wrong with the + request parameters provided' + Errors: + minItems: 1 + type: array + items: + $ref: '#/components/schemas/OBError1' + description: An array of detail error codes, and messages, and URLs to documentation + to help remediation. + OBEventSubscription1: + required: + - Data + type: object + properties: + Data: + required: + - Version + type: object + properties: + CallbackUrl: + type: string + description: Callback URL for a TPP hosted service. Will be used by + ASPSPs, in conjunction with the resource name, to construct a URL + to send event notifications to. + format: uri + Version: + $ref: '#/components/schemas/Version' + EventTypes: + type: array + items: + type: string + description: Array of event types the subscription applies to. + OBEventSubscriptionResponse1: + required: + - Data + type: object + properties: + Data: + required: + - EventSubscriptionId + - Version + type: object + properties: + EventSubscriptionId: + maxLength: 40 + minLength: 1 + type: string + description: Unique identification as assigned by the ASPSP to uniquely + identify the callback URL resource. + CallbackUrl: + type: string + description: Callback URL for a TPP hosted service. Will be used by + ASPSPs, in conjunction with the resource name, to construct a URL + to send event notifications to. + format: uri + Version: + $ref: '#/components/schemas/Version' + EventTypes: + type: array + items: + type: string + description: Array of event types the subscription applies to. + Links: + $ref: '#/components/schemas/Links' + Meta: + $ref: '#/components/schemas/Meta' + OBEventSubscriptionsResponse1: + required: + - Data + type: object + properties: + Data: + type: object + properties: + EventSubscription: + type: array + items: + required: + - EventSubscriptionId + - Version + type: object + properties: + EventSubscriptionId: + maxLength: 40 + minLength: 1 + type: string + description: Unique identification as assigned by the ASPSP to + uniquely identify the callback url resource. + CallbackUrl: + type: string + description: Callback URL for a TPP hosted service. Will be used + by ASPSPs, in conjunction with the resource name, to construct + a URL to send event notifications to. + format: uri + Version: + $ref: '#/components/schemas/Version' + EventTypes: + type: array + items: + type: string + description: Array of event types the subscription applies to. + Links: + $ref: '#/components/schemas/Links' + Meta: + $ref: '#/components/schemas/Meta' + Version: + maxLength: 10 + minLength: 1 + type: string + description: Version for the event notification. responses: - 201EventSubscriptionsCreated: - description: Event Subscription Created + 200EventSubscriptionsEventSubscriptionIdChanged: + description: Event Subscription Changed headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. schema: type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. schema: type: string content: - application/json: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventSubscriptionResponse1' + application/jose+jwe: schema: $ref: '#/components/schemas/OBEventSubscriptionResponse1' 200EventSubscriptionsRead: description: Event Subscription Read headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. schema: type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. schema: type: string content: - application/json: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventSubscriptionsResponse1' + application/jose+jwe: schema: $ref: '#/components/schemas/OBEventSubscriptionsResponse1' - 200EventSubscriptionsEventSubscriptionIdChanged: - description: Event Subscription Changed + 201EventSubscriptionsCreated: + description: Event Subscription Created headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. schema: type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. schema: type: string content: - application/json: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventSubscriptionResponse1' + application/jose+jwe: schema: $ref: '#/components/schemas/OBEventSubscriptionResponse1' 204EventSubscriptionsEventSubscriptionIdDeleted: @@ -315,6 +958,7 @@ components: description: An RFC4122 UID used as a correlation id. schema: type: string + content: {} 400Error: description: Bad request headers: @@ -323,7 +967,10 @@ components: schema: type: string content: - application/json: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: schema: $ref: '#/components/schemas/OBErrorResponse1' 401Error: @@ -333,6 +980,7 @@ components: description: An RFC4122 UID used as a correlation id. schema: type: string + content: {} 403Error: description: Forbidden headers: @@ -341,7 +989,10 @@ components: schema: type: string content: - application/json: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: schema: $ref: '#/components/schemas/OBErrorResponse1' 404Error: @@ -351,6 +1002,7 @@ components: description: An RFC4122 UID used as a correlation id. schema: type: string + content: {} 405Error: description: Method Not Allowed headers: @@ -358,6 +1010,7 @@ components: description: An RFC4122 UID used as a correlation id. schema: type: string + content: {} 406Error: description: Not Acceptable headers: @@ -365,6 +1018,7 @@ components: description: An RFC4122 UID used as a correlation id. schema: type: string + content: {} 409Error: description: Conflict headers: @@ -372,6 +1026,7 @@ components: description: An RFC4122 UID used as a correlation id. schema: type: string + content: {} 415Error: description: Unsupported Media Type headers: @@ -379,17 +1034,19 @@ components: description: An RFC4122 UID used as a correlation id. schema: type: string + content: {} 429Error: description: Too Many Requests headers: - Retry-After: - description: Number in seconds to wait - schema: - type: integer x-fapi-interaction-id: description: An RFC4122 UID used as a correlation id. schema: type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} 500Error: description: Internal Server Error headers: @@ -398,268 +1055,104 @@ components: schema: type: string content: - application/json: + application/json; charset=utf-8: schema: $ref: '#/components/schemas/OBErrorResponse1' - schemas: - ISODateTime: - description: >- - All dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 - type: string - format: date-time - Links: - type: object - description: Links relevant to the payload - properties: - Self: - type: string - format: uri - First: - type: string - format: uri - Prev: - type: string - format: uri - Next: - type: string - format: uri - Last: - type: string - format: uri - additionalProperties: false - required: - - Self - Meta: - title: MetaData - type: object - description: Meta Data relevant to the payload - properties: - TotalPages: - type: integer - format: int32 - FirstAvailableDateTime: - $ref: '#/components/schemas/ISODateTime' - LastAvailableDateTime: - $ref: '#/components/schemas/ISODateTime' - additionalProperties: false - OBError1: - type: object - properties: - ErrorCode: - description: 'Low level textual error code, e.g., UK.OBIE.Field.Missing' - type: string - x-namespaced-enum: - - UK.OBIE.Field.Expected - - UK.OBIE.Field.Invalid - - UK.OBIE.Field.InvalidDate - - UK.OBIE.Field.Missing - - UK.OBIE.Field.Unexpected - - UK.OBIE.Header.Invalid - - UK.OBIE.Header.Missing - - UK.OBIE.Reauthenticate - - UK.OBIE.Resource.ConsentMismatch - - UK.OBIE.Resource.InvalidConsentStatus - - UK.OBIE.Resource.InvalidFormat - - UK.OBIE.Resource.NotFound - - UK.OBIE.Rules.AfterCutOffDateTime - - UK.OBIE.Rules.DuplicateReference - - UK.OBIE.Signature.Invalid - - UK.OBIE.Signature.InvalidClaim - - UK.OBIE.Signature.Malformed - - UK.OBIE.Signature.Missing - - UK.OBIE.Signature.MissingClaim - - UK.OBIE.Signature.Unexpected - - UK.OBIE.UnexpectedError - - UK.OBIE.Unsupported.AccountIdentifier - - UK.OBIE.Unsupported.AccountSecondaryIdentifier - - UK.OBIE.Unsupported.Currency - - UK.OBIE.Unsupported.Frequency - - UK.OBIE.Unsupported.LocalInstrument - - UK.OBIE.Unsupported.Scheme - Message: - description: >- - A description of the error that occurred. e.g., 'A mandatory field - isn't supplied' or 'RequestedExecutionDateTime must be in future' - - OBIE doesn't standardise this field - type: string - minLength: 1 - maxLength: 500 - Path: - description: >- - Recommended but optional reference to the JSON Path of the field - with error, e.g., Data.Initiation.InstructedAmount.Currency - type: string - minLength: 1 - maxLength: 500 - Url: - description: >- - URL to help remediate the problem, or provide more information, or - to API Reference, or help etc - type: string - required: - - ErrorCode - - Message - additionalProperties: false - minProperties: 1 - OBErrorResponse1: - description: >- - An array of detail error codes, and messages, and URLs to documentation - to help remediation. - type: object - properties: - Code: - description: 'High level textual error code, to help categorize the errors.' - type: string - minLength: 1 - maxLength: 40 - Id: - description: >- - A unique reference for the error instance, for audit purposes, in - case of unknown/unclassified errors. - type: string - minLength: 1 - maxLength: 40 - Message: - description: >- - Brief Error message, e.g., 'There is something wrong with the - request parameters provided' - type: string - minLength: 1 - maxLength: 500 - Errors: - items: - $ref: '#/components/schemas/OBError1' - type: array - minItems: 1 - required: - - Code - - Message - - Errors - additionalProperties: false - OBEventSubscription1: - type: object - required: - - Data - properties: - Data: - type: object - required: - - Version - properties: - CallbackUrl: - description: >- - Callback URL for a TPP hosted service. Will be used by ASPSPs, - in conjunction with the resource name, to construct a URL to - send event notifications to. - type: string - format: uri - Version: - $ref: '#/components/schemas/Version' - EventTypes: - type: array - items: - description: Array of event types the subscription applies to. - type: string - additionalProperties: false - OBEventSubscriptionResponse1: - type: object - required: - - Data - properties: - Data: - type: object - required: - - EventSubscriptionId - - Version - properties: - EventSubscriptionId: - description: >- - Unique identification as assigned by the ASPSP to uniquely - identify the callback URL resource. - type: string - minLength: 1 - maxLength: 40 - CallbackUrl: - description: >- - Callback URL for a TPP hosted service. Will be used by ASPSPs, - in conjunction with the resource name, to construct a URL to - send event notifications to. - type: string - format: uri - Version: - $ref: '#/components/schemas/Version' - EventTypes: - type: array - items: - description: Array of event types the subscription applies to. - type: string - additionalProperties: false - Links: - $ref: '#/components/schemas/Links' - Meta: - $ref: '#/components/schemas/Meta' - OBEventSubscriptionsResponse1: - type: object - required: - - Data - properties: - Data: - type: object - properties: - EventSubscription: - type: array - items: - type: object - required: - - EventSubscriptionId - - Version - properties: - EventSubscriptionId: - description: >- - Unique identification as assigned by the ASPSP to uniquely - identify the callback url resource. - type: string - minLength: 1 - maxLength: 40 - CallbackUrl: - description: >- - Callback URL for a TPP hosted service. Will be used by - ASPSPs, in conjunction with the resource name, to - construct a URL to send event notifications to. - type: string - format: uri - Version: - $ref: '#/components/schemas/Version' - EventTypes: - type: array - items: - description: Array of event types the subscription applies to. - type: string - Links: - $ref: '#/components/schemas/Links' - Meta: - $ref: '#/components/schemas/Meta' - additionalProperties: false - Version: - description: Version for the event notification. - type: string - minLength: 1 - maxLength: 10 + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + parameters: + EventSubscriptionId: + name: EventSubscriptionId + in: path + description: EventSubscriptionId + required: true + schema: + type: string + Authorization: + name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + x-customer-user-agent: + name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + x-fapi-customer-ip-address: + name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + x-fapi-auth-date: + name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example is\ + \ below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + x-fapi-interaction-id: + name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + x-idempotency-key: + name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + x-jws-signature: + name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + requestBodies: + OBEventSubscription1Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventSubscription1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBEventSubscription1' + required: true + OBEventSubscriptionResponse1Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBEventSubscriptionResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBEventSubscriptionResponse1' + required: true securitySchemes: TPPOAuth2Security: type: oauth2 description: TPP client credential authorisation flow with the ASPSP flows: clientCredentials: - tokenUrl: 'https://authserver.example/token' + tokenUrl: https://authserver.example/token scopes: accounts: Ability to receive events associated with Accounts information - fundsconfirmations: Ability to receive events associated with confirmation of funds + fundsconfirmations: Ability to receive events associated with confirmation + of funds payments: Ability to receieve events associated with payments diff --git a/dist/openapi/events-openapi.json b/dist/openapi/events-openapi.json index 7940820d..3adaa347 100644 --- a/dist/openapi/events-openapi.json +++ b/dist/openapi/events-openapi.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "paths": { "/event-subscriptions": { diff --git a/dist/openapi/events-openapi.yaml b/dist/openapi/events-openapi.yaml index 38799246..a094d750 100644 --- a/dist/openapi/events-openapi.yaml +++ b/dist/openapi/events-openapi.yaml @@ -11,7 +11,7 @@ info: license: name: open-licence url: 'https://www.openbanking.org.uk/open-licence' - version: v3.1.5 + version: v3.1.6 paths: /event-subscriptions: post: diff --git a/dist/openapi/payment-initiation-openapi.json b/dist/openapi/payment-initiation-openapi.json index c06098ab..8496bdcf 100644 --- a/dist/openapi/payment-initiation-openapi.json +++ b/dist/openapi/payment-initiation-openapi.json @@ -2,7 +2,7 @@ "openapi": "3.0.1", "info": { "title": "Payment Initiation API", - "description": "OpenAPI for Payment Initiation API Specification", + "description": "Swagger for Payment Initiation API Specification", "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", @@ -12,8 +12,13 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, + "servers": [ + { + "url": "/open-banking/v3.1/pisp" + } + ], "paths": { "/domestic-payment-consents": { "post": { @@ -24,54 +29,266 @@ "operationId": "CreateDomesticPaymentConsents", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticConsent4" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticConsent4" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201DomesticPaymentConsentsCreated" + "description": "Domestic Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticConsentResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticConsentResponse5" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -81,9 +298,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteDomesticConsent4Param" - } + "x-codegen-request-body-name": "OBWriteDomesticConsent4Param" } }, "/domestic-payment-consents/{ConsentId}": { @@ -95,48 +310,227 @@ "operationId": "GetDomesticPaymentConsentsConsentId", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200DomesticPaymentConsentsConsentIdRead" + "description": "Domestic Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticConsentResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticConsentResponse5" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -157,48 +551,227 @@ "operationId": "GetDomesticPaymentConsentsConsentIdFundsConfirmation", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200DomesticPaymentConsentsConsentIdFundsConfirmationRead" + "description": "Domestic Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -219,54 +792,266 @@ "operationId": "CreateDomesticPayments", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" - } - ], + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomestic2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomestic2" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201DomesticPaymentsCreated" + "description": "Domestic Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticResponse5" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -276,9 +1061,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteDomestic2Param" - } + "x-codegen-request-body-name": "OBWriteDomestic2Param" } }, "/domestic-payments/{DomesticPaymentId}": { @@ -290,48 +1073,227 @@ "operationId": "GetDomesticPaymentsDomesticPaymentId", "parameters": [ { - "$ref": "#/components/parameters/DomesticPaymentId" + "name": "DomesticPaymentId", + "in": "path", + "description": "DomesticPaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200DomesticPaymentsDomesticPaymentIdRead" + "description": "Domestic Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticResponse5" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -352,51 +1314,239 @@ "operationId": "GetDomesticPaymentsDomesticPaymentIdPaymentDetails", "parameters": [ { - "$ref": "#/components/parameters/DomesticPaymentId" + "name": "DomesticPaymentId", + "in": "path", + "description": "DomesticPaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200DomesticPaymentsDomesticPaymentIdPaymentDetailsRead" + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -417,57 +1567,278 @@ "operationId": "CreateDomesticScheduledPaymentConsents", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledConsent4" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledConsent4" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201DomesticScheduledPaymentConsentsCreated" - }, - "400": { - "$ref": "#/components/responses/400Error" - }, - "401": { - "$ref": "#/components/responses/401Error" - }, - "403": { - "$ref": "#/components/responses/403Error" - }, + "description": "Domestic Scheduled Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledConsentResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledConsentResponse5" + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -477,9 +1848,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteDomesticScheduledConsent4Param" - } + "x-codegen-request-body-name": "OBWriteDomesticScheduledConsent4Param" } }, "/domestic-scheduled-payment-consents/{ConsentId}": { @@ -491,51 +1860,239 @@ "operationId": "GetDomesticScheduledPaymentConsentsConsentId", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200DomesticScheduledPaymentConsentsConsentIdRead" + "description": "Domestic Scheduled Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledConsentResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledConsentResponse5" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -556,57 +2113,278 @@ "operationId": "CreateDomesticScheduledPayments", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduled2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduled2" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201DomesticScheduledPaymentsCreated" + "description": "Domestic Scheduled Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledResponse5" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -616,9 +2394,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteDomesticScheduled2Param" - } + "x-codegen-request-body-name": "OBWriteDomesticScheduled2Param" } }, "/domestic-scheduled-payments/{DomesticScheduledPaymentId}": { @@ -630,51 +2406,239 @@ "operationId": "GetDomesticScheduledPaymentsDomesticScheduledPaymentId", "parameters": [ { - "$ref": "#/components/parameters/DomesticScheduledPaymentId" + "name": "DomesticScheduledPaymentId", + "in": "path", + "description": "DomesticScheduledPaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200DomesticScheduledPaymentsDomesticScheduledPaymentIdRead" - }, + "description": "Domestic Scheduled Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledResponse5" + } + } + } + }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -695,51 +2659,239 @@ "operationId": "GetDomesticScheduledPaymentsDomesticScheduledPaymentIdPaymentDetails", "parameters": [ { - "$ref": "#/components/parameters/DomesticScheduledPaymentId" + "name": "DomesticScheduledPaymentId", + "in": "path", + "description": "DomesticScheduledPaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200DomesticScheduledPaymentsDomesticScheduledPaymentIdPaymentDetailsRead" + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -760,57 +2912,278 @@ "operationId": "CreateDomesticStandingOrderConsents", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsent5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsent5" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201DomesticStandingOrderConsentsCreated" + "description": "Domestic Standing Order Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -820,9 +3193,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteDomesticStandingOrderConsent5Param" - } + "x-codegen-request-body-name": "OBWriteDomesticStandingOrderConsent5Param" } }, "/domestic-standing-order-consents/{ConsentId}": { @@ -834,51 +3205,239 @@ "operationId": "GetDomesticStandingOrderConsentsConsentId", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200DomesticStandingOrderConsentsConsentIdRead" + "description": "Domestic Standing Order Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" - }, - "401": { - "$ref": "#/components/responses/401Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -899,57 +3458,278 @@ "operationId": "CreateDomesticStandingOrders", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrder3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrder3" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201DomesticStandingOrdersCreated" + "description": "Domestic Standing Orders Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderResponse6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -959,9 +3739,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteDomesticStandingOrder3Param" - } + "x-codegen-request-body-name": "OBWriteDomesticStandingOrder3Param" } }, "/domestic-standing-orders/{DomesticStandingOrderId}": { @@ -973,51 +3751,239 @@ "operationId": "GetDomesticStandingOrdersDomesticStandingOrderId", "parameters": [ { - "$ref": "#/components/parameters/DomesticStandingOrderId" + "name": "DomesticStandingOrderId", + "in": "path", + "description": "DomesticStandingOrderId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200DomesticStandingOrdersDomesticStandingOrderIdRead" + "description": "Domestic Standing Orders Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderResponse6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1038,51 +4004,239 @@ "operationId": "GetDomesticStandingOrdersDomesticStandingOrderIdPaymentDetails", "parameters": [ { - "$ref": "#/components/parameters/DomesticStandingOrderId" + "name": "DomesticStandingOrderId", + "in": "path", + "description": "DomesticStandingOrderId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200DomesticStandingOrdersDomesticStandingOrderIdPaymentDetailsRead" + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" - }, + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1103,57 +4257,278 @@ "operationId": "CreateFilePaymentConsents", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileConsent3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileConsent3" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201FilePaymentConsentsCreated" + "description": "File Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileConsentResponse4" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileConsentResponse4" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1163,9 +4538,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteFileConsent3Param" - } + "x-codegen-request-body-name": "OBWriteFileConsent3Param" } }, "/file-payment-consents/{ConsentId}": { @@ -1177,51 +4550,239 @@ "operationId": "GetFilePaymentConsentsConsentId", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200FilePaymentConsentsConsentIdRead" + "description": "File Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileConsentResponse4" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileConsentResponse4" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1234,68 +4795,247 @@ } }, "/file-payment-consents/{ConsentId}/file": { - "post": { + "get": { "tags": [ "File Payments" ], - "summary": "Create File Payment Consents", - "operationId": "CreateFilePaymentConsentsConsentIdFile", + "summary": "Get File Payment Consents", + "operationId": "GetFilePaymentConsentsConsentIdFile", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" - }, - { - "$ref": "#/components/parameters/x-fapi-auth-date" - }, - { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200FilePaymentConsentsConsentIdFileCreated" + "description": "File Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/File" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/File" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" - }, - "403": { - "$ref": "#/components/responses/403Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" - }, - "415": { - "$ref": "#/components/responses/415Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1304,64 +5044,280 @@ "payments" ] } - ], - "requestBody": { - "$ref": "#/components/requestBodies/FileParam" - } + ] }, - "get": { + "post": { "tags": [ "File Payments" ], - "summary": "Get File Payment Consents", - "operationId": "GetFilePaymentConsentsConsentIdFile", + "summary": "Create File Payment Consents", + "operationId": "CreateFilePaymentConsentsConsentIdFile", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/File" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/File" + } + } + }, + "required": true + }, "responses": { "200": { - "$ref": "#/components/responses/200FilePaymentConsentsConsentIdFileRead" + "description": "File Payment Consents Created", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "415": { + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1370,7 +5326,8 @@ "payments" ] } - ] + ], + "x-codegen-request-body-name": "FileParam" } }, "/file-payments": { @@ -1382,57 +5339,278 @@ "operationId": "CreateFilePayments", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFile2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFile2" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201FilePaymentsCreated" + "description": "File Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileResponse3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileResponse3" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1442,9 +5620,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteFile2Param" - } + "x-codegen-request-body-name": "OBWriteFile2Param" } }, "/file-payments/{FilePaymentId}": { @@ -1456,51 +5632,239 @@ "operationId": "GetFilePaymentsFilePaymentId", "parameters": [ { - "$ref": "#/components/parameters/FilePaymentId" + "name": "FilePaymentId", + "in": "path", + "description": "FilePaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200FilePaymentsFilePaymentIdRead" - }, - "400": { - "$ref": "#/components/responses/400Error" + "description": "File Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileResponse3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileResponse3" + } + } + } + }, + "400": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1521,51 +5885,239 @@ "operationId": "GetFilePaymentsFilePaymentIdPaymentDetails", "parameters": [ { - "$ref": "#/components/parameters/FilePaymentId" + "name": "FilePaymentId", + "in": "path", + "description": "FilePaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200FilePaymentsFilePaymentIdPaymentDetailsRead" + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1586,51 +6138,239 @@ "operationId": "GetFilePaymentsFilePaymentIdReportFile", "parameters": [ { - "$ref": "#/components/parameters/FilePaymentId" + "name": "FilePaymentId", + "in": "path", + "description": "FilePaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200FilePaymentsFilePaymentIdReportFileRead" + "description": "File Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/File" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/File" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1651,57 +6391,278 @@ "operationId": "CreateInternationalPaymentConsents", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalConsent5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalConsent5" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201InternationalPaymentConsentsCreated" + "description": "International Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalConsentResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalConsentResponse6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" - }, - "401": { - "$ref": "#/components/responses/401Error" - }, - "403": { - "$ref": "#/components/responses/403Error" - }, - "404": { - "$ref": "#/components/responses/404Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1711,9 +6672,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteInternationalConsent5Param" - } + "x-codegen-request-body-name": "OBWriteInternationalConsent5Param" } }, "/international-payment-consents/{ConsentId}": { @@ -1725,51 +6684,239 @@ "operationId": "GetInternationalPaymentConsentsConsentId", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200InternationalPaymentConsentsConsentIdRead" + "description": "International Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalConsentResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalConsentResponse6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1790,51 +6937,239 @@ "operationId": "GetInternationalPaymentConsentsConsentIdFundsConfirmation", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200InternationalPaymentConsentsConsentIdFundsConfirmationRead" + "description": "International Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1855,57 +7190,278 @@ "operationId": "CreateInternationalPayments", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternational3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternational3" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201InternationalPaymentsCreated" + "description": "International Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalResponse5" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" - }, - "401": { - "$ref": "#/components/responses/401Error" - }, - "403": { - "$ref": "#/components/responses/403Error" - }, - "404": { - "$ref": "#/components/responses/404Error" - }, + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1915,9 +7471,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteInternational3Param" - } + "x-codegen-request-body-name": "OBWriteInternational3Param" } }, "/international-payments/{InternationalPaymentId}": { @@ -1929,51 +7483,239 @@ "operationId": "GetInternationalPaymentsInternationalPaymentId", "parameters": [ { - "$ref": "#/components/parameters/InternationalPaymentId" + "name": "InternationalPaymentId", + "in": "path", + "description": "InternationalPaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200InternationalPaymentsInternationalPaymentIdRead" + "description": "International Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalResponse5" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -1994,51 +7736,239 @@ "operationId": "GetInternationalPaymentsInternationalPaymentIdPaymentDetails", "parameters": [ { - "$ref": "#/components/parameters/InternationalPaymentId" + "name": "InternationalPaymentId", + "in": "path", + "description": "InternationalPaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200InternationalPaymentsInternationalPaymentIdPaymentDetailsRead" + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -2059,57 +7989,278 @@ "operationId": "CreateInternationalScheduledPaymentConsents", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledConsent5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledConsent5" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201InternationalScheduledPaymentConsentsCreated" + "description": "International Scheduled Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledConsentResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledConsentResponse6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" - }, - "401": { - "$ref": "#/components/responses/401Error" - }, - "403": { - "$ref": "#/components/responses/403Error" - }, - "404": { - "$ref": "#/components/responses/404Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -2119,9 +8270,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteInternationalScheduledConsent5Param" - } + "x-codegen-request-body-name": "OBWriteInternationalScheduledConsent5Param" } }, "/international-scheduled-payment-consents/{ConsentId}": { @@ -2133,51 +8282,239 @@ "operationId": "GetInternationalScheduledPaymentConsentsConsentId", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200InternationalScheduledPaymentConsentsConsentIdRead" + "description": "International Scheduled Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledConsentResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledConsentResponse6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -2198,51 +8535,239 @@ "operationId": "GetInternationalScheduledPaymentConsentsConsentIdFundsConfirmation", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200InternationalScheduledPaymentConsentsConsentIdFundsConfirmationRead" + "description": "International Scheduled Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -2263,57 +8788,278 @@ "operationId": "CreateInternationalScheduledPayments", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduled3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduled3" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201InternationalScheduledPaymentsCreated" + "description": "International Scheduled Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledResponse6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" - }, - "401": { - "$ref": "#/components/responses/401Error" - }, - "403": { - "$ref": "#/components/responses/403Error" - }, - "404": { - "$ref": "#/components/responses/404Error" - }, + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -2323,9 +9069,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteInternationalScheduled3Param" - } + "x-codegen-request-body-name": "OBWriteInternationalScheduled3Param" } }, "/international-scheduled-payments/{InternationalScheduledPaymentId}": { @@ -2337,51 +9081,239 @@ "operationId": "GetInternationalScheduledPaymentsInternationalScheduledPaymentId", "parameters": [ { - "$ref": "#/components/parameters/InternationalScheduledPaymentId" + "name": "InternationalScheduledPaymentId", + "in": "path", + "description": "InternationalScheduledPaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200InternationalScheduledPaymentsInternationalScheduledPaymentIdRead" + "description": "International Scheduled Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledResponse6" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -2402,51 +9334,239 @@ "operationId": "GetInternationalScheduledPaymentsInternationalScheduledPaymentIdPaymentDetails", "parameters": [ { - "$ref": "#/components/parameters/InternationalScheduledPaymentId" + "name": "InternationalScheduledPaymentId", + "in": "path", + "description": "InternationalScheduledPaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200InternationalScheduledPaymentsInternationalScheduledPaymentIdPaymentDetailsRead" + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -2467,57 +9587,278 @@ "operationId": "CreateInternationalStandingOrderConsents", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsent6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsent6" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201InternationalStandingOrderConsentsCreated" + "description": "International Standing Order Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" - }, - "401": { - "$ref": "#/components/responses/401Error" - }, - "403": { - "$ref": "#/components/responses/403Error" - }, - "404": { - "$ref": "#/components/responses/404Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -2527,9 +9868,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteInternationalStandingOrderConsent6Param" - } + "x-codegen-request-body-name": "OBWriteInternationalStandingOrderConsent6Param" } }, "/international-standing-order-consents/{ConsentId}": { @@ -2541,51 +9880,239 @@ "operationId": "GetInternationalStandingOrderConsentsConsentId", "parameters": [ { - "$ref": "#/components/parameters/ConsentId" + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200InternationalStandingOrderConsentsConsentIdRead" + "description": "International Standing Order Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -2606,57 +10133,278 @@ "operationId": "CreateInternationalStandingOrders", "parameters": [ { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-idempotency-key" + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-jws-signature" + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], + "requestBody": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrder4" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrder4" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/201InternationalStandingOrdersCreated" + "description": "International Standing Orders Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderResponse7" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderResponse7" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "415": { - "$ref": "#/components/responses/415Error" + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -2666,9 +10414,7 @@ ] } ], - "requestBody": { - "$ref": "#/components/requestBodies/OBWriteInternationalStandingOrder4Param" - } + "x-codegen-request-body-name": "OBWriteInternationalStandingOrder4Param" } }, "/international-standing-orders/{InternationalStandingOrderPaymentId}": { @@ -2680,51 +10426,239 @@ "operationId": "GetInternationalStandingOrdersInternationalStandingOrderPaymentId", "parameters": [ { - "$ref": "#/components/parameters/InternationalStandingOrderPaymentId" + "name": "InternationalStandingOrderPaymentId", + "in": "path", + "description": "InternationalStandingOrderPaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200InternationalStandingOrdersInternationalStandingOrderPaymentIdRead" + "description": "International Standing Orders Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderResponse7" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderResponse7" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" - }, - "401": { - "$ref": "#/components/responses/401Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -2745,51 +10679,239 @@ "operationId": "GetInternationalStandingOrdersInternationalStandingOrderPaymentIdPaymentDetails", "parameters": [ { - "$ref": "#/components/parameters/InternationalStandingOrderPaymentId" + "name": "InternationalStandingOrderPaymentId", + "in": "path", + "description": "InternationalStandingOrderPaymentId", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-auth-date" + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-customer-ip-address" + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-fapi-interaction-id" + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/Authorization" + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/x-customer-user-agent" + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/200InternationalStandingOrdersInternationalStandingOrderPaymentIdPaymentDetailsRead" + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } }, "400": { - "$ref": "#/components/responses/400Error" + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "401": { - "$ref": "#/components/responses/401Error" + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "403": { - "$ref": "#/components/responses/403Error" + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } }, "404": { - "$ref": "#/components/responses/404Error" + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "405": { - "$ref": "#/components/responses/405Error" + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "406": { - "$ref": "#/components/responses/406Error" + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} }, "429": { - "$ref": "#/components/responses/429Error" + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} }, "500": { - "$ref": "#/components/responses/500Error" + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } } }, "security": [ @@ -2803,1913 +10925,2817 @@ } }, "components": { - "parameters": { - "ConsentId": { - "name": "ConsentId", - "in": "path", - "description": "ConsentId", - "required": true, - "schema": { - "type": "string" - } - }, - "DomesticPaymentId": { - "name": "DomesticPaymentId", - "in": "path", - "description": "DomesticPaymentId", - "required": true, - "schema": { - "type": "string" - } - }, - "DomesticScheduledPaymentId": { - "name": "DomesticScheduledPaymentId", - "in": "path", - "description": "DomesticScheduledPaymentId", - "required": true, - "schema": { - "type": "string" - } - }, - "DomesticStandingOrderId": { - "name": "DomesticStandingOrderId", - "in": "path", - "description": "DomesticStandingOrderId", - "required": true, - "schema": { - "type": "string" - } - }, - "FilePaymentId": { - "name": "FilePaymentId", - "in": "path", - "description": "FilePaymentId", - "required": true, - "schema": { - "type": "string" - } + "schemas": { + "ActiveOrHistoricCurrencyCode": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\"." }, - "InternationalPaymentId": { - "name": "InternationalPaymentId", - "in": "path", - "description": "InternationalPaymentId", - "required": true, - "schema": { - "type": "string" - } + "BuildingNumber": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Number that identifies the position of a building on a street." }, - "InternationalScheduledPaymentId": { - "name": "InternationalScheduledPaymentId", - "in": "path", - "description": "InternationalScheduledPaymentId", - "required": true, - "schema": { - "type": "string" - } + "CountryCode": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government." }, - "InternationalStandingOrderPaymentId": { - "name": "InternationalStandingOrderPaymentId", - "in": "path", - "description": "InternationalStandingOrderPaymentId", - "required": true, - "schema": { - "type": "string" - } + "CountrySubDivision": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Identifies a subdivision of a country such as state, region, county." }, - "Authorization": { - "in": "header", - "name": "Authorization", - "required": true, - "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", - "schema": { - "type": "string" - } + "Department": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a division of a large organisation or building." }, - "x-customer-user-agent": { - "in": "header", - "name": "x-customer-user-agent", - "description": "Indicates the user-agent that the PSU is using.", - "required": false, - "schema": { - "type": "string" - } + "File": { + "type": "object" }, - "x-fapi-customer-ip-address": { - "in": "header", - "name": "x-fapi-customer-ip-address", - "required": false, - "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", - "schema": { - "type": "string" - } + "ISODateTime": { + "type": "string", + "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "x-fapi-auth-date": { - "in": "header", - "name": "x-fapi-auth-date", - "required": false, - "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", - "schema": { - "type": "string", - "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$" - } + "Identification_0": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, - "x-fapi-interaction-id": { - "in": "header", - "name": "x-fapi-interaction-id", - "required": false, - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "Identification_1": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution." }, - "x-idempotency-key": { - "name": "x-idempotency-key", - "in": "header", - "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", - "required": true, - "schema": { - "type": "string", - "pattern": "^(?!\\s)(.*)(\\S)$", - "maxLength": 40 - } - }, - "x-jws-signature": { - "in": "header", - "name": "x-jws-signature", - "required": true, - "description": "A detached JWS signature of the body of the payload.", - "schema": { - "type": "string" - } - } - }, - "requestBodies": { - "OBWriteDomesticConsent4Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticConsent4" - } - } - }, - "required": true - }, - "OBWriteDomestic2Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomestic2" - } + "Links": { + "required": [ + "Self" + ], + "type": "object", + "properties": { + "Self": { + "type": "string", + "format": "uri" + }, + "First": { + "type": "string", + "format": "uri" + }, + "Prev": { + "type": "string", + "format": "uri" + }, + "Next": { + "type": "string", + "format": "uri" + }, + "Last": { + "type": "string", + "format": "uri" } }, - "required": true + "description": "Links relevant to the payload" }, - "OBWriteDomesticScheduledConsent4Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticScheduledConsent4" - } + "Meta": { + "title": "MetaData", + "type": "object", + "properties": { + "TotalPages": { + "type": "integer", + "format": "int32" + }, + "FirstAvailableDateTime": { + "$ref": "#/components/schemas/ISODateTime" + }, + "LastAvailableDateTime": { + "$ref": "#/components/schemas/ISODateTime" } }, - "required": true + "description": "Meta Data relevant to the payload" }, - "OBWriteDomesticScheduled2Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticScheduled2" - } - } - }, - "required": true + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which an agent is known and which is usually used to identify that agent." }, - "OBWriteDomesticStandingOrderConsent5Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsent5" - } - } - }, - "required": true + "OBActiveCurrencyAndAmount_SimpleType": { + "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$", + "type": "string", + "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217." }, - "OBWriteDomesticStandingOrder3Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticStandingOrder3" - } + "OBActiveOrHistoricCurrencyAndAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } }, - "required": true + "description": "Amount of money associated with the charge type." }, - "OBWriteFileConsent3Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteFileConsent3" - } - } - }, - "required": true + "OBAddressTypeCode": { + "type": "string", + "description": "Identifies the nature of the postal address.", + "enum": [ + "Business", + "Correspondence", + "DeliveryTo", + "MailTo", + "POBox", + "Postal", + "Residential", + "Statement" + ] }, - "FileParam": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/File" - } - } - }, - "required": true + "OBChargeBearerType1Code": { + "type": "string", + "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", + "enum": [ + "BorneByCreditor", + "BorneByDebtor", + "FollowingServiceLevel", + "Shared" + ] }, - "OBWriteFile2Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteFile2" - } + "OBError1": { + "required": [ + "ErrorCode", + "Message" + ], + "type": "object", + "properties": { + "ErrorCode": { + "type": "string", + "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", + "x-namespaced-enum": [ + "UK.OBIE.Field.Expected", + "UK.OBIE.Field.Invalid", + "UK.OBIE.Field.InvalidDate", + "UK.OBIE.Field.Missing", + "UK.OBIE.Field.Unexpected", + "UK.OBIE.Header.Invalid", + "UK.OBIE.Header.Missing", + "UK.OBIE.Reauthenticate", + "UK.OBIE.Resource.ConsentMismatch", + "UK.OBIE.Resource.InvalidConsentStatus", + "UK.OBIE.Resource.InvalidFormat", + "UK.OBIE.Resource.NotFound", + "UK.OBIE.Rules.AfterCutOffDateTime", + "UK.OBIE.Rules.DuplicateReference", + "UK.OBIE.Signature.Invalid", + "UK.OBIE.Signature.InvalidClaim", + "UK.OBIE.Signature.Malformed", + "UK.OBIE.Signature.Missing", + "UK.OBIE.Signature.MissingClaim", + "UK.OBIE.Signature.Unexpected", + "UK.OBIE.UnexpectedError", + "UK.OBIE.Unsupported.AccountIdentifier", + "UK.OBIE.Unsupported.AccountSecondaryIdentifier", + "UK.OBIE.Unsupported.Currency", + "UK.OBIE.Unsupported.Frequency", + "UK.OBIE.Unsupported.LocalInstrument", + "UK.OBIE.Unsupported.Scheme" + ] + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field" + }, + "Path": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency" + }, + "Url": { + "type": "string", + "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc" } - }, - "required": true + } }, - "OBWriteInternationalConsent5Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalConsent5" + "OBErrorResponse1": { + "required": [ + "Code", + "Errors", + "Message" + ], + "type": "object", + "properties": { + "Code": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "High level textual error code, to help categorize the errors." + }, + "Id": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors." + }, + "Message": { + "maxLength": 500, + "minLength": 1, + "type": "string", + "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'" + }, + "Errors": { + "minItems": 1, + "type": "array", + "items": { + "$ref": "#/components/schemas/OBError1" } } }, - "required": true + "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation." }, - "OBWriteInternational3Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternational3" - } - } - }, - "required": true + "OBExternalAccountIdentification4Code": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BBAN", + "UK.OBIE.IBAN", + "UK.OBIE.PAN", + "UK.OBIE.Paym", + "UK.OBIE.SortCodeAccountNumber" + ] }, - "OBWriteInternationalScheduledConsent5Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalScheduledConsent5" - } - } - }, - "required": true + "OBExternalFinancialInstitutionIdentification4Code": { + "type": "string", + "description": "Name of the identification scheme, in a coded form as published in an external list.", + "x-namespaced-enum": [ + "UK.OBIE.BICFI" + ] }, - "OBWriteInternationalScheduled3Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalScheduled3" - } - } - }, - "required": true + "OBExternalLocalInstrument1Code": { + "type": "string", + "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", + "x-namespaced-enum": [ + "UK.OBIE.BACS", + "UK.OBIE.BalanceTransfer", + "UK.OBIE.CHAPS", + "UK.OBIE.Euro1", + "UK.OBIE.FPS", + "UK.OBIE.Link", + "UK.OBIE.MoneyTransfer", + "UK.OBIE.Paym", + "UK.OBIE.SEPACreditTransfer", + "UK.OBIE.SEPAInstantCreditTransfer", + "UK.OBIE.SWIFT", + "UK.OBIE.Target2" + ] }, - "OBWriteInternationalStandingOrderConsent6Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsent6" - } - } - }, - "required": true + "OBExternalPaymentChargeType1Code": { + "type": "string", + "description": "Charge type, in a coded form.", + "x-namespaced-enum": [ + "UK.OBIE.CHAPSOut" + ] }, - "OBWriteInternationalStandingOrder4Param": { - "description": "Default", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalStandingOrder4" - } - } - }, - "required": true - } - }, - "responses": { - "201DomesticPaymentConsentsCreated": { - "description": "Domestic Payment Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "OBPostalAddress6": { + "type": "object", + "properties": { + "AddressType": { + "$ref": "#/components/schemas/OBAddressTypeCode" }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticConsentResponse5" - } - } - } - }, - "200DomesticPaymentConsentsConsentIdRead": { - "description": "Domestic Payment Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "Department": { + "$ref": "#/components/schemas/Department" }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" + "SubDepartment": { + "$ref": "#/components/schemas/SubDepartment" + }, + "StreetName": { + "$ref": "#/components/schemas/StreetName" + }, + "BuildingNumber": { + "$ref": "#/components/schemas/BuildingNumber" + }, + "PostCode": { + "$ref": "#/components/schemas/PostCode" + }, + "TownName": { + "$ref": "#/components/schemas/TownName" + }, + "CountrySubDivision": { + "$ref": "#/components/schemas/CountrySubDivision" + }, + "Country": { + "$ref": "#/components/schemas/CountryCode" + }, + "AddressLine": { + "maxItems": 7, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text." } } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticConsentResponse5" - } - } - } + "description": "Information that locates and identifies a specific address, as defined by postal services." }, - "200DomesticPaymentConsentsConsentIdFundsConfirmationRead": { - "description": "Domestic Payment Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } + "OBDebtorIdentification1": { + "type": "object", + "properties": { + "Name": { + "maxLength": 350, + "minLength": 0, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account." } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" - } - } - } + "description": "Set of elements used to identify a person or an organisation." }, - "201DomesticPaymentsCreated": { - "description": "Domestic Payments Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "OBRisk1": { + "type": "object", + "properties": { + "PaymentContextCode": { + "type": "string", + "description": "Specifies the payment context", + "enum": [ + "BillPayment", + "EcommerceGoods", + "EcommerceServices", + "Other", + "PartyToParty" + ] }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } + "MerchantCategoryCode": { + "maxLength": 4, + "minLength": 3, + "type": "string", + "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction." + }, + "MerchantCustomerIdentification": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "The unique customer identifier of the PSU with the merchant." + }, + "DeliveryAddress": { + "required": [ + "Country", + "TownName" + ], + "type": "object", + "properties": { + "AddressLine": { + "maxItems": 2, + "minItems": 0, + "type": "array", + "items": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text." + } + }, + "StreetName": { + "$ref": "#/components/schemas/StreetName" + }, + "BuildingNumber": { + "$ref": "#/components/schemas/BuildingNumber" + }, + "PostCode": { + "$ref": "#/components/schemas/PostCode" + }, + "TownName": { + "$ref": "#/components/schemas/TownName" + }, + "CountrySubDivision": { + "$ref": "#/components/schemas/CountrySubDivision" + }, + "Country": { + "pattern": "^[A-Z]{2,2}$", + "type": "string", + "description": "Nation with its own government, occupying a particular territory." + } + }, + "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text." } }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticResponse5" - } - } - } + "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments." }, - "200DomesticPaymentsDomesticPaymentIdRead": { - "description": "Domestic Payments Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticResponse5" - } - } - } - }, - "200DomesticPaymentsDomesticPaymentIdPaymentDetailsRead": { - "description": "Payment Details Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" - } - } - } - }, - "201DomesticScheduledPaymentConsentsCreated": { - "description": "Domestic Scheduled Payment Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticScheduledConsentResponse5" - } - } - } - }, - "200DomesticScheduledPaymentConsentsConsentIdRead": { - "description": "Domestic Scheduled Payment Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticScheduledConsentResponse5" - } - } - } - }, - "201DomesticScheduledPaymentsCreated": { - "description": "Domestic Scheduled Payments Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticScheduledResponse5" - } - } - } + "OBSupplementaryData1": { + "type": "object", + "description": "Additional information that can not be captured in the structured fields and/or any other specific block." }, - "200DomesticScheduledPaymentsDomesticScheduledPaymentIdRead": { - "description": "Domestic Scheduled Payments Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBWriteDomestic2": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." + } } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticScheduledResponse5" - } + "Risk": { + "$ref": "#/components/schemas/OBRisk1" } } }, - "200DomesticScheduledPaymentsDomesticScheduledPaymentIdPaymentDetailsRead": { - "description": "Payment Details Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" - } - } - } - }, - "201DomesticStandingOrderConsentsCreated": { - "description": "Domestic Standing Order Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6" - } - } - } - }, - "200DomesticStandingOrderConsentsConsentIdRead": { - "description": "Domestic Standing Order Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6" - } - } - } - }, - "201DomesticStandingOrdersCreated": { - "description": "Domestic Standing Orders Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBWriteDomesticConsent4": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation" + ], + "type": "object", + "properties": { + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticStandingOrderResponse6" - } + "Risk": { + "$ref": "#/components/schemas/OBRisk1" } } }, - "200DomesticStandingOrdersDomesticStandingOrderIdRead": { - "description": "Domestic Standing Orders Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBWriteDomesticConsentResponse5": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalPaymentChargeType1Code" + }, + "Amount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "$ref": "#/components/schemas/OBDebtorIdentification1" + } } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteDomesticStandingOrderResponse6" - } + "Risk": { + "$ref": "#/components/schemas/OBRisk1" + }, + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" } } }, - "200DomesticStandingOrdersDomesticStandingOrderIdPaymentDetailsRead": { - "description": "Payment Details Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBWriteDomesticResponse5": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "DomesticPaymentId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "DomesticPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment information group.", + "enum": [ + "AcceptedCreditSettlementCompleted", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedWithoutPosting", + "Pending", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Provides the details to identify an account." + } + }, + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalPaymentChargeType1Code" + }, + "Amount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "$ref": "#/components/schemas/OBDebtorIdentification1" + } } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" - } + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" } } }, - "201FilePaymentConsentsCreated": { - "description": "File Payment Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteFileConsentResponse4" - } - } - } - }, - "200FilePaymentConsentsConsentIdFileCreated": { - "description": "File Payment Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "200FilePaymentConsentsConsentIdRead": { - "description": "File Payment Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteFileConsentResponse4" - } - } - } - }, - "200FilePaymentConsentsConsentIdFileRead": { - "description": "File Payment Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/File" - } - } - } - }, - "201FilePaymentsCreated": { - "description": "File Payments Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteFileResponse3" - } - } - } - }, - "200FilePaymentsFilePaymentIdRead": { - "description": "File Payments Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBWriteDomesticScheduled2": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." + } } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteFileResponse3" - } + "Risk": { + "$ref": "#/components/schemas/OBRisk1" } } }, - "200FilePaymentsFilePaymentIdReportFileRead": { - "description": "File Payments Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/File" - } - } - } - }, - "200FilePaymentsFilePaymentIdPaymentDetailsRead": { - "description": "Payment Details Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" - } - } - } - }, - "201InternationalPaymentConsentsCreated": { - "description": "International Payment Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalConsentResponse6" - } - } - } - }, - "200InternationalPaymentConsentsConsentIdRead": { - "description": "International Payment Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBWriteDomesticScheduledConsent4": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation", + "Permission" + ], + "type": "object", + "properties": { + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalConsentResponse6" - } + "Risk": { + "$ref": "#/components/schemas/OBRisk1" } } }, - "200InternationalPaymentConsentsConsentIdFundsConfirmationRead": { - "description": "International Payment Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBWriteDomesticScheduledConsentResponse5": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "Initiation", + "Permission", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalPaymentChargeType1Code" + }, + "Amount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "$ref": "#/components/schemas/OBDebtorIdentification1" + } } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" - } - } - } - }, - "201InternationalPaymentsCreated": { - "description": "International Payments Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalResponse5" - } - } - } - }, - "200InternationalPaymentsInternationalPaymentIdRead": { - "description": "International Payments Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalResponse5" - } - } - } - }, - "200InternationalPaymentsInternationalPaymentIdPaymentDetailsRead": { - "description": "Payment Details Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" - } - } - } - }, - "201InternationalScheduledPaymentConsentsCreated": { - "description": "International Scheduled Payment Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalScheduledConsentResponse6" - } - } - } - }, - "200InternationalScheduledPaymentConsentsConsentIdRead": { - "description": "International Scheduled Payment Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalScheduledConsentResponse6" - } - } - } - }, - "200InternationalScheduledPaymentConsentsConsentIdFundsConfirmationRead": { - "description": "International Scheduled Payment Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" - } - } - } - }, - "201InternationalScheduledPaymentsCreated": { - "description": "International Scheduled Payments Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalScheduledResponse6" - } - } - } - }, - "200InternationalScheduledPaymentsInternationalScheduledPaymentIdRead": { - "description": "International Scheduled Payments Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalScheduledResponse6" - } - } - } - }, - "200InternationalScheduledPaymentsInternationalScheduledPaymentIdPaymentDetailsRead": { - "description": "Payment Details Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "Risk": { + "$ref": "#/components/schemas/OBRisk1" }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" - } - } - } - }, - "201InternationalStandingOrderConsentsCreated": { - "description": "International Standing Order Consents Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "Links": { + "$ref": "#/components/schemas/Links" }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7" - } + "Meta": { + "$ref": "#/components/schemas/Meta" } } }, - "200InternationalStandingOrderConsentsConsentIdRead": { - "description": "International Standing Order Consents Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7" - } - } - } - }, - "201InternationalStandingOrdersCreated": { - "description": "International Standing Orders Created", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBWriteDomesticScheduledResponse5": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "CreationDateTime", + "DomesticScheduledPaymentId", + "Initiation", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "DomesticScheduledPaymentId": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic schedule payment resource." + }, + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of the payment order resource.", + "enum": [ + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Provides the details to identify an account." + } + }, + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalPaymentChargeType1Code" + }, + "Amount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } + }, + "Initiation": { + "required": [ + "CreditorAccount", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." + }, + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "CreditorPostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment." + }, + "MultiAuthorisation": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "Status": { + "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", + "enum": [ + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" + ] + }, + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { + "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpirationDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The multiple authorisation flow response from the ASPSP." + }, + "Debtor": { + "$ref": "#/components/schemas/OBDebtorIdentification1" + } } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalStandingOrderResponse7" - } - } - } - }, - "200InternationalStandingOrdersInternationalStandingOrderPaymentIdRead": { - "description": "International Standing Orders Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWriteInternationalStandingOrderResponse7" - } - } - } - }, - "200InternationalStandingOrdersInternationalStandingOrderPaymentIdPaymentDetailsRead": { - "description": "Payment Details Read", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" - } - } - } - }, - "400Error": { - "description": "Bad request", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBErrorResponse1" - } - } - } - }, - "401Error": { - "description": "Unauthorized", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" } } }, - "403Error": { - "description": "Forbidden", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" + "OBWriteDomesticStandingOrder3": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "ConsentId", + "Initiation" + ], + "type": "object", + "properties": { + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "RecurringPaymentDateTime": { + "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "The amount of the first Standing Order" + }, + "RecurringPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "The amount of the final Standing Order" + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Provides the details to identify the debtor account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." + } } }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBErrorResponse1" - } + "Risk": { + "$ref": "#/components/schemas/OBRisk1" } } }, - "404Error": { - "description": "Not found", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "405Error": { - "description": "Method Not Allowed", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "406Error": { - "description": "Not Acceptable", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "415Error": { - "description": "Unsupported Media Type", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - } - } - }, - "429Error": { - "description": "Too Many Requests", - "headers": { - "Retry-After": { - "description": "Number in seconds to wait", - "schema": { - "type": "integer" + "OBWriteDomesticStandingOrderConsent5": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation", + "Permission" + ], + "type": "object", + "properties": { + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "Initiation": { + "required": [ + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" + ], + "type": "object", + "properties": { + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "type": "string", + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." + }, + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "RecurringPaymentDateTime": { + "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FirstPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "The amount of the first Standing Order" + }, + "RecurringPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "The amount of the final Standing Order" + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Provides the details to identify the debtor account." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." + }, + "Authorisation": { + "required": [ + "AuthorisationType" + ], + "type": "object", + "properties": { + "AuthorisationType": { + "type": "string", + "description": "Type of authorisation flow requested.", + "enum": [ + "Any", + "Single" + ] + }, + "CompletionDateTime": { + "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "The authorisation type request from the TPP." + }, + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + } } }, - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } + "Risk": { + "$ref": "#/components/schemas/OBRisk1" } } }, - "500Error": { - "description": "Internal Server Error", - "headers": { - "x-fapi-interaction-id": { - "description": "An RFC4122 UID used as a correlation id.", - "schema": { - "type": "string" - } - }, - "x-jws-signature": { - "description": "Header containing a detached JWS signature of the body of the payload.\n", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OBErrorResponse1" - } - } - } - } - }, - "schemas": { - "ActiveOrHistoricCurrencyCode": { - "description": "A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "BuildingNumber": { - "description": "Number that identifies the position of a building on a street.", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "CountryCode": { - "description": "Nation with its own government.", - "type": "string", - "pattern": "^[A-Z]{2,2}$" - }, - "CountrySubDivision": { - "description": "Identifies a subdivision of a country such as state, region, county.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Department": { - "description": "Identification of a division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "File": { - "type": "object", - "additionalProperties": false, - "properties": {} - }, - "ISODateTime": { - "description": "All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Identification_0": { - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "Identification_1": { - "description": "Unique and unambiguous identification of a financial institution or a branch of a financial institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Links": { - "type": "object", - "additionalProperties": false, - "description": "Links relevant to the payload", - "properties": { - "Self": { - "type": "string", - "format": "uri" - }, - "First": { - "type": "string", - "format": "uri" - }, - "Prev": { - "type": "string", - "format": "uri" - }, - "Next": { - "type": "string", - "format": "uri" - }, - "Last": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "Self" - ] - }, - "Meta": { - "title": "MetaData", - "type": "object", - "additionalProperties": false, - "description": "Meta Data relevant to the payload", - "properties": { - "TotalPages": { - "type": "integer", - "format": "int32" - }, - "FirstAvailableDateTime": { - "$ref": "#/components/schemas/ISODateTime" - }, - "LastAvailableDateTime": { - "$ref": "#/components/schemas/ISODateTime" - } - } - }, - "Name": { - "description": "Name by which an agent is known and which is usually used to identify that agent.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "OBActiveCurrencyAndAmount_SimpleType": { - "description": "A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.", - "type": "string", - "pattern": "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$" - }, - "OBActiveOrHistoricCurrencyAndAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money associated with the charge type.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "OBAddressTypeCode": { - "description": "Identifies the nature of the postal address.", - "type": "string", - "enum": [ - "Business", - "Correspondence", - "DeliveryTo", - "MailTo", - "POBox", - "Postal", - "Residential", - "Statement" - ] - }, - "OBChargeBearerType1Code": { - "description": "Specifies which party/parties will bear the charges associated with the processing of the payment transaction.", - "type": "string", - "enum": [ - "BorneByCreditor", - "BorneByDebtor", - "FollowingServiceLevel", - "Shared" - ] - }, - "OBError1": { - "type": "object", - "additionalProperties": false, - "properties": { - "ErrorCode": { - "description": "Low level textual error code, e.g., UK.OBIE.Field.Missing", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.Field.Expected", - "UK.OBIE.Field.Invalid", - "UK.OBIE.Field.InvalidDate", - "UK.OBIE.Field.Missing", - "UK.OBIE.Field.Unexpected", - "UK.OBIE.Header.Invalid", - "UK.OBIE.Header.Missing", - "UK.OBIE.Reauthenticate", - "UK.OBIE.Resource.ConsentMismatch", - "UK.OBIE.Resource.InvalidConsentStatus", - "UK.OBIE.Resource.InvalidFormat", - "UK.OBIE.Resource.NotFound", - "UK.OBIE.Rules.AfterCutOffDateTime", - "UK.OBIE.Rules.DuplicateReference", - "UK.OBIE.Signature.Invalid", - "UK.OBIE.Signature.InvalidClaim", - "UK.OBIE.Signature.Malformed", - "UK.OBIE.Signature.Missing", - "UK.OBIE.Signature.MissingClaim", - "UK.OBIE.Signature.Unexpected", - "UK.OBIE.UnexpectedError", - "UK.OBIE.Unsupported.AccountIdentifier", - "UK.OBIE.Unsupported.AccountSecondaryIdentifier", - "UK.OBIE.Unsupported.Currency", - "UK.OBIE.Unsupported.Frequency", - "UK.OBIE.Unsupported.LocalInstrument", - "UK.OBIE.Unsupported.Scheme" - ] - }, - "Message": { - "description": "A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'\nOBIE doesn't standardise this field", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Path": { - "description": "Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Url": { - "description": "URL to help remediate the problem, or provide more information, or to API Reference, or help etc", - "type": "string" - } - }, + "OBWriteDomesticStandingOrderConsentResponse6": { "required": [ - "ErrorCode", - "Message" + "Data", + "Risk" ], - "minProperties": 1 - }, - "OBErrorResponse1": { - "description": "An array of detail error codes, and messages, and URLs to documentation to help remediation.", "type": "object", - "additionalProperties": false, "properties": { - "Code": { - "description": "High level textual error code, to help categorize the errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Id": { - "description": "A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "Message": { - "description": "Brief Error message, e.g., 'There is something wrong with the request parameters provided'", - "type": "string", - "minLength": 1, - "maxLength": 500 - }, - "Errors": { - "items": { - "$ref": "#/components/schemas/OBError1" - }, - "type": "array", - "minItems": 1 - } - }, - "required": [ - "Code", - "Message", - "Errors" - ] - }, - "OBExternalAccountIdentification4Code": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BBAN", - "UK.OBIE.IBAN", - "UK.OBIE.PAN", - "UK.OBIE.Paym", - "UK.OBIE.SortCodeAccountNumber" - ] - }, - "OBExternalFinancialInstitutionIdentification4Code": { - "description": "Name of the identification scheme, in a coded form as published in an external list.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BICFI" - ] - }, - "OBExternalLocalInstrument1Code": { - "description": "User community specific instrument.\nUsage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.BACS", - "UK.OBIE.BalanceTransfer", - "UK.OBIE.CHAPS", - "UK.OBIE.Euro1", - "UK.OBIE.FPS", - "UK.OBIE.Link", - "UK.OBIE.MoneyTransfer", - "UK.OBIE.Paym", - "UK.OBIE.SEPACreditTransfer", - "UK.OBIE.SEPAInstantCreditTransfer", - "UK.OBIE.SWIFT", - "UK.OBIE.Target2" - ] - }, - "OBExternalPaymentChargeType1Code": { - "description": "Charge type, in a coded form.", - "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.CHAPSOut" - ] - }, - "OBPostalAddress6": { - "type": "object", - "additionalProperties": false, - "description": "Information that locates and identifies a specific address, as defined by postal services.", - "properties": { - "AddressType": { - "$ref": "#/components/schemas/OBAddressTypeCode" - }, - "Department": { - "$ref": "#/components/schemas/Department" - }, - "SubDepartment": { - "$ref": "#/components/schemas/SubDepartment" - }, - "StreetName": { - "$ref": "#/components/schemas/StreetName" - }, - "BuildingNumber": { - "$ref": "#/components/schemas/BuildingNumber" - }, - "PostCode": { - "$ref": "#/components/schemas/PostCode" - }, - "TownName": { - "$ref": "#/components/schemas/TownName" - }, - "CountrySubDivision": { - "$ref": "#/components/schemas/CountrySubDivision" - }, - "Country": { - "$ref": "#/components/schemas/CountryCode" - }, - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 7 - } - } - }, - "OBDebtorIdentification1": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "type": "string", - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", - "minLength": 0, - "maxLength": 140 - } - } - }, - "OBRisk1": { - "type": "object", - "additionalProperties": false, - "description": "The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments.", - "properties": { - "PaymentContextCode": { - "description": "Specifies the payment context", - "type": "string", - "enum": [ - "BillPayment", - "EcommerceGoods", - "EcommerceServices", - "Other", - "PartyToParty" - ] - }, - "MerchantCategoryCode": { - "description": "Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.", - "type": "string", - "minLength": 3, - "maxLength": 4 - }, - "MerchantCustomerIdentification": { - "description": "The unique customer identifier of the PSU with the merchant.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "DeliveryAddress": { - "type": "object", - "additionalProperties": false, + "Data": { "required": [ - "TownName", - "Country" + "ConsentId", + "CreationDateTime", + "Initiation", + "Permission", + "Status", + "StatusUpdateDateTime" ], - "description": "Information that locates and identifies a specific address, as defined by postal services or in free format text.", + "type": "object", "properties": { - "AddressLine": { - "type": "array", - "items": { - "description": "Information that locates and identifies a specific address, as defined by postal services, that is presented in free format text.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "minItems": 0, - "maxItems": 2 - }, - "StreetName": { - "$ref": "#/components/schemas/StreetName" + "ConsentId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, - "BuildingNumber": { - "$ref": "#/components/schemas/BuildingNumber" + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "PostCode": { - "$ref": "#/components/schemas/PostCode" + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "Consumed", + "Rejected" + ] }, - "TownName": { - "$ref": "#/components/schemas/TownName" + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "CountrySubDivision": { - "$ref": "#/components/schemas/CountrySubDivision" + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] }, - "Country": { - "description": "Nation with its own government, occupying a particular territory.", + "ReadRefundAccount": { "type": "string", - "pattern": "^[A-Z]{2,2}$" - } - } - } - } - }, - "OBSupplementaryData1": { - "type": "object", - "additionalProperties": true, - "properties": {}, - "description": "Additional information that can not be captured in the structured fields and/or any other specific block." - }, - "OBWriteDomestic2": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, + "CutOffDateTime": { "type": "string", - "minLength": 1, - "maxLength": 128 + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalPaymentChargeType1Code" + }, + "Amount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "InstructedAmount", - "CreditorAccount" + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "Reference": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, + "RecurringPaymentDateTime": { + "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FirstPaymentAmount": { "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -4717,152 +13743,31 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } - } + }, + "description": "The amount of the first Standing Order" }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, + "RecurringPaymentAmount": { "required": [ - "SchemeName", - "Identification" + "Amount", + "Currency" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } - } + }, + "description": "The amount of the recurring Standing Order" }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "CreditorPostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "$ref": "#/components/schemas/OBSupplementaryData1" - } - } - } - } - }, - "Risk": { - "$ref": "#/components/schemas/OBRisk1" - } - } - }, - "OBWriteDomesticConsent4": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "Initiation" - ], - "properties": { - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, + "FinalPaymentAmount": { "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -4870,16 +13775,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } - } + }, + "description": "The amount of the final Standing Order" }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -4888,25 +13792,24 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Provides the details to identify the debtor account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -4915,74 +13818,51 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } - }, - "CreditorPostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -4994,107 +13874,131 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "$ref": "#/components/schemas/OBDebtorIdentification1" } } }, "Risk": { "$ref": "#/components/schemas/OBRisk1" + }, + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" } } }, - "OBWriteDomesticConsentResponse5": { - "type": "object", - "additionalProperties": false, + "OBWriteDomesticStandingOrderResponse6": { "required": [ - "Data", - "Risk" + "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", + "DomesticStandingOrderId", + "Initiation", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", + "DomesticStandingOrderId": { + "maxLength": 40, + "minLength": 1, "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic standing order resource." + }, + "ConsentId": { + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of the payment order resource.", "enum": [ - "Authorised", - "AwaitingAuthorisation", - "Consumed", - "Rejected" + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Provides the details to identify an account." + } + }, + "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction." }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { "$ref": "#/components/schemas/OBChargeBearerType1Code" @@ -5105,43 +14009,57 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "InstructedAmount", - "CreditorAccount" + "CreditorAccount", + "FirstPaymentAmount", + "FirstPaymentDateTime", + "Frequency" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "Reference": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ + "RecurringPaymentDateTime": { + "type": "string", + "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FinalPaymentDateTime": { + "type": "string", + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FirstPaymentAmount": { + "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -5149,16 +14067,47 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } - } + }, + "description": "The amount of the first Standing Order" }, - "DebtorAccount": { + "RecurringPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "The amount of the recurring Standing Order" + }, + "FinalPaymentAmount": { + "required": [ + "Amount", + "Currency" + ], "type": "object", - "additionalProperties": false, + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "The amount of the final Standing Order" + }, + "DebtorAccount": { "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -5167,25 +14116,24 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Provides the details to identify the debtor account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -5194,108 +14142,64 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } - }, - "CreditorPostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } + }, + "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order." }, - "Authorisation": { - "type": "object", - "additionalProperties": false, + "MultiAuthorisation": { "required": [ - "AuthorisationType" + "Status" ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "Status": { "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" ] }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { "type": "string", - "enum": [ - "CA", - "SCA" - ] + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", + "ExpirationDateTime": { "type": "string", - "minLength": 1, - "maxLength": 128 + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "$ref": "#/components/schemas/OBDebtorIdentification1" } } }, - "Risk": { - "$ref": "#/components/schemas/OBRisk1" - }, "Links": { "$ref": "#/components/schemas/Links" }, @@ -5304,86 +14208,75 @@ } } }, - "OBWriteDomesticResponse5": { - "type": "object", - "additionalProperties": false, + "OBWriteFile2": { "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "DomesticPaymentId", "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", "Initiation" ], + "type": "object", "properties": { - "DomesticPaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic payment resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of the payment information group.", - "type": "string", - "enum": [ - "AcceptedCreditSettlementCompleted", - "AcceptedSettlementCompleted", - "AcceptedSettlementInProcess", - "AcceptedWithoutPosting", - "Pending", - "Rejected" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", - "format": "date-time" + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, - "Refund": { - "type": "object", - "additionalProperties": false, + "Initiation": { "required": [ - "Account" + "FileHash", + "FileType" ], - "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.", + "type": "object", "properties": { - "Account": { - "type": "object", - "additionalProperties": false, + "FileType": { + "type": "string", + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] + }, + "FileHash": { + "maxLength": 44, + "minLength": 1, + "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, + "minLength": 1, + "type": "string", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "DebtorAccount": { "required": [ - "SchemeName", "Identification", - "Name" + "SchemeName" ], - "description": "Provides the details to identify an account.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -5392,120 +14285,107 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } - } - } - }, - "Charges": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", - "required": [ - "ChargeBearer", - "Type", - "Amount" - ], - "properties": { - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" }, - "Type": { - "$ref": "#/components/schemas/OBExternalPaymentChargeType1Code" + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } }, - "Amount": { - "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" - } + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" } - } - }, + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." + } + } + } + } + }, + "OBWriteFileConsent3": { + "required": [ + "Data" + ], + "type": "object", + "properties": { + "Data": { + "required": [ + "Initiation" + ], + "type": "object", + "properties": { "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "EndToEndIdentification", - "InstructedAmount", - "CreditorAccount" + "FileHash", + "FileType" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single domestic payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "FileType": { "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "FileHash": { + "maxLength": 44, + "minLength": 1, "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Reference for the file." + }, + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." + }, + "RequestedExecutionDateTime": { + "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, "LocalInstrument": { "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -5514,337 +14394,221 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } - }, - "CreditorPostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." }, - "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, + "Authorisation": { "required": [ - "Status" + "AuthorisationType" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { - "Status": { - "description": "Specifies the status of the authorisation flow in code form.", + "AuthorisationType": { "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ - "Authorised", - "AwaitingFurtherAuthorisation", - "Rejected" + "Any", + "Single" ] }, - "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" - }, - "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" - }, - "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "CompletionDateTime": { "type": "string", - "format": "date-time" - }, - "ExpirationDateTime": { "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, - "Debtor": { - "$ref": "#/components/schemas/OBDebtorIdentification1" + "SCASupportData": { + "type": "object", + "properties": { + "RequestedSCAExemptionType": { + "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "enum": [ + "BillPayment", + "ContactlessTravel", + "EcommerceGoods", + "EcommerceServices", + "Kiosk", + "Parking", + "PartyToParty" + ] + }, + "AppliedAuthenticationApproach": { + "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "enum": [ + "CA", + "SCA" + ] + }, + "ReferencePaymentOrderId": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." + } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." } } - }, - "Links": { - "$ref": "#/components/schemas/Links" - }, - "Meta": { - "$ref": "#/components/schemas/Meta" } } }, - "OBWriteDomesticScheduled2": { - "type": "object", - "additionalProperties": false, + "OBWriteFileConsentResponse4": { "required": [ - "Data", - "Risk" + "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", - "Initiation" + "CreationDateTime", + "Initiation", + "Status", + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." + }, + "CreationDateTime": { + "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Status": { + "type": "string", + "description": "Specifies the status of consent resource in code form.", + "enum": [ + "Authorised", + "AwaitingAuthorisation", + "AwaitingUpload", + "Consumed", + "Rejected" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "CutOffDateTime": { + "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "Charges": { + "type": "array", + "items": { + "required": [ + "Amount", + "ChargeBearer", + "Type" + ], + "type": "object", + "properties": { + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" + }, + "Type": { + "$ref": "#/components/schemas/OBExternalPaymentChargeType1Code" + }, + "Amount": { + "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" + } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." + } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "InstructedAmount", - "CreditorAccount" + "FileHash", + "FileType" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "FileType": { "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "FileHash": { + "maxLength": 44, + "minLength": 1, "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Reference for the file." }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." }, "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "DebtorAccount": { "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "CreditorPostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "$ref": "#/components/schemas/OBSupplementaryData1" - } - } - } - } - }, - "Risk": { - "$ref": "#/components/schemas/OBRisk1" - } - } - }, - "OBWriteDomesticScheduledConsent4": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "Permission", - "Initiation" - ], - "properties": { - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" + "SchemeName" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "DebtorAccount": { "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -5853,101 +14617,69 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } - }, - "CreditorPostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -5959,115 +14691,92 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." + }, + "Debtor": { + "$ref": "#/components/schemas/OBDebtorIdentification1" } } }, - "Risk": { - "$ref": "#/components/schemas/OBRisk1" + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" } } }, - "OBWriteDomesticScheduledConsentResponse5": { - "type": "object", - "additionalProperties": false, + "OBWriteFileResponse3": { "required": [ - "Data", - "Risk" + "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", + "FilePaymentId", + "Initiation", "Status", - "StatusUpdateDateTime", - "Permission", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", + "FilePaymentId": { + "maxLength": 40, + "minLength": 1, "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the file payment resource." + }, + "ConsentId": { + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of the payment order resource.", "enum": [ - "Authorised", - "AwaitingAuthorisation", - "Consumed", - "Rejected" + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { "$ref": "#/components/schemas/OBChargeBearerType1Code" @@ -6078,92 +14787,60 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "InstructedAmount", - "CreditorAccount" + "FileHash", + "FileType" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "FileType": { "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Specifies the payment file type.", + "x-namespaced-enum": [ + "UK.OBIE.PaymentInitiation.3.1", + "UK.OBIE.pain.001.001.08" + ] }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "FileHash": { + "maxLength": 44, + "minLength": 1, "type": "string", + "description": "A base64 encoding of a SHA256 hash of the file to be uploaded." + }, + "FileReference": { + "maxLength": 40, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Reference for the file." }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + "NumberOfTransactions": { + "pattern": "[0-9]{1,15}", + "type": "string", + "description": "Number of individual transactions contained in the payment information group." + }, + "ControlSum": { + "type": "number", + "description": "Total of all individual amounts included in the group, irrespective of currencies." }, "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -6172,108 +14849,82 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } - }, - "CreditorPostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file." }, - "Authorisation": { - "type": "object", - "additionalProperties": false, + "MultiAuthorisation": { "required": [ - "AuthorisationType" + "Status" ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", + "Status": { "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" + "Authorised", + "AwaitingFurtherAuthorisation", + "Rejected" ] }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", + "NumberRequired": { + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." + }, + "NumberReceived": { + "type": "integer", + "description": "Number of authorisations received." + }, + "LastUpdateDateTime": { "type": "string", - "enum": [ - "CA", - "SCA" - ] + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", + "ExpirationDateTime": { "type": "string", - "minLength": 1, - "maxLength": 128 + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "$ref": "#/components/schemas/OBDebtorIdentification1" } } }, - "Risk": { - "$ref": "#/components/schemas/OBRisk1" - }, "Links": { "$ref": "#/components/schemas/Links" }, @@ -6282,167 +14933,131 @@ } } }, - "OBWriteDomesticScheduledResponse5": { - "type": "object", - "additionalProperties": false, + "OBWriteFundsConfirmationResponse1": { "required": [ "Data" ], + "type": "object", "properties": { "Data": { "type": "object", - "additionalProperties": false, + "properties": { + "FundsAvailableResult": { + "required": [ + "FundsAvailable", + "FundsAvailableDateTime" + ], + "type": "object", + "properties": { + "FundsAvailableDateTime": { + "type": "string", + "description": "Date and time at which the funds availability check was generated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "FundsAvailable": { + "type": "boolean", + "description": "Flag to indicate the availability of funds given the Amount in the consent request." + } + }, + "description": "Result of a funds availability check." + }, + "SupplementaryData": { + "$ref": "#/components/schemas/OBSupplementaryData1" + } + } + }, + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" + } + } + }, + "OBWriteInternational3": { + "required": [ + "Data", + "Risk" + ], + "type": "object", + "properties": { + "Data": { "required": [ - "DomesticScheduledPaymentId", "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", "Initiation" ], + "type": "object", "properties": { - "DomesticScheduledPaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic schedule payment resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of the payment order resource.", - "type": "string", - "enum": [ - "Cancelled", - "InitiationCompleted", - "InitiationFailed", - "InitiationPending" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", - "format": "date-time" + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, - "Refund": { - "type": "object", - "additionalProperties": false, + "Initiation": { "required": [ - "Account" + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" ], - "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.", - "properties": { - "Account": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify an account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - } - } - }, - "Charges": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", - "required": [ - "ChargeBearer", - "Type", - "Amount" - ], - "properties": { - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "Type": { - "$ref": "#/components/schemas/OBExternalPaymentChargeType1Code" - }, - "Amount": { - "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" - } - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled domestic payment.", + "type": "object", "properties": { "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, "LocalInstrument": { "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "InstructionPriority": { "type": "string", - "format": "date-time" + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, + "minLength": 1, + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." + }, + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." + }, + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -6450,16 +15065,49 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, - "DebtorAccount": { + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], "type": "object", - "additionalProperties": false, + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -6468,25 +15116,57 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, - "CreditorAccount": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { "type": "object", - "additionalProperties": false, + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_1" + }, + "Name": { + "$ref": "#/components/schemas/Name" + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -6495,166 +15175,133 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } - }, - "CreditorPostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } - }, - "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Status" - ], - "description": "The multiple authorisation flow response from the ASPSP.", - "properties": { - "Status": { - "description": "Specifies the status of the authorisation flow in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingFurtherAuthorisation", - "Rejected" - ] - }, - "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" - }, - "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" - }, - "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "Debtor": { - "$ref": "#/components/schemas/OBDebtorIdentification1" + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." } } }, - "Links": { - "$ref": "#/components/schemas/Links" - }, - "Meta": { - "$ref": "#/components/schemas/Meta" + "Risk": { + "$ref": "#/components/schemas/OBRisk1" } } }, - "OBWriteDomesticStandingOrder3": { - "type": "object", - "additionalProperties": false, + "OBWriteInternationalConsent5": { "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "ConsentId", "Initiation" ], + "type": "object", "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", + "ReadRefundAccount": { "type": "string", - "minLength": 1, - "maxLength": 128 + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "Frequency", - "FirstPaymentDateTime", - "FirstPaymentAmount", - "CreditorAccount" + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order.", + "type": "object", "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", + "EndToEndIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "InstructionPriority": { "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, - "RecurringPaymentDateTime": { - "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "format": "date-time" + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", "type": "string", - "format": "date-time" + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, - "FirstPaymentAmount": { - "type": "object", - "additionalProperties": false, + "InstructedAmount": { "required": [ "Amount", "Currency" ], - "description": "The amount of the first Standing Order", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -6662,77 +15309,49 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, - "RecurringPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the recurring Standing Order", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "FinalPaymentAmount": { - "type": "object", - "additionalProperties": false, + "ExchangeRateInformation": { "required": [ - "Amount", - "Currency" + "RateType", + "UnitCurrency" ], - "description": "The amount of the final Standing Order", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "DebtorAccount": { "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the debtor account.", "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", + "RateType": { "type": "string", - "minLength": 1, - "maxLength": 70 + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." } - } + }, + "description": "Provides details on the currency exchange rate and contract." }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, + "DebtorAccount": { "required": [ - "SchemeName", "Identification", - "Name" + "SchemeName" ], - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -6741,188 +15360,57 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } - }, - "SupplementaryData": { - "$ref": "#/components/schemas/OBSupplementaryData1" - } - } - } - } - }, - "Risk": { - "$ref": "#/components/schemas/OBRisk1" - } - } - }, - "OBWriteDomesticStandingOrderConsent5": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "Permission", - "Initiation" - ], - "properties": { - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Frequency", - "FirstPaymentDateTime", - "FirstPaymentAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order.", - "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "RecurringPaymentDateTime": { - "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FirstPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the first Standing Order", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "RecurringPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the recurring Standing Order", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, - "FinalPaymentAmount": { + "Creditor": { "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the final Standing Order", "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Party to which an amount of money is due." }, - "DebtorAccount": { + "CreditorAgent": { "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the debtor account.", "properties": { "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" }, "Identification": { - "$ref": "#/components/schemas/Identification_0" + "$ref": "#/components/schemas/Identification_1" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 + "$ref": "#/components/schemas/Name" }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Financial institution servicing an account for the creditor." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -6931,52 +15419,69 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -6988,20 +15493,21 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." } } }, @@ -7010,40 +15516,37 @@ } } }, - "OBWriteDomesticStandingOrderConsentResponse6": { - "type": "object", - "additionalProperties": false, + "OBWriteInternationalConsentResponse6": { "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", + "Initiation", "Status", - "StatusUpdateDateTime", - "Permission", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", @@ -7052,41 +15555,42 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "Permission": { - "description": "Specifies the Open Banking service request types.", + "ReadRefundAccount": { "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { "description": "Specifies to share the refund account details with PISP", - "type": "string", "enum": [ "No", "Yes" ] }, "CutOffDateTime": { + "type": "string", "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { "$ref": "#/components/schemas/OBChargeBearerType1Code" @@ -7097,77 +15601,114 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, - "Initiation": { - "type": "object", - "additionalProperties": false, + "ExchangeRateInformation": { "required": [ - "Frequency", - "FirstPaymentDateTime", - "FirstPaymentAmount", - "CreditorAccount" + "ExchangeRate", + "RateType", + "UnitCurrency" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order.", + "type": "object", "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", + "ExpirationDateTime": { "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, - "RecurringPaymentDateTime": { - "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "InstructionPriority": { "type": "string", - "format": "date-time" + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Purpose": { + "maxLength": 4, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, - "FirstPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the first Standing Order", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, - "RecurringPaymentAmount": { - "type": "object", - "additionalProperties": false, + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { "required": [ "Amount", "Currency" ], - "description": "The amount of the recurring Standing Order", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -7175,33 +15716,49 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, - "FinalPaymentAmount": { - "type": "object", - "additionalProperties": false, + "ExchangeRateInformation": { "required": [ - "Amount", - "Currency" + "RateType", + "UnitCurrency" ], - "description": "The amount of the final Standing Order", + "type": "object", "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." } - } + }, + "description": "Provides details on the currency exchange rate and contract." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the debtor account.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -7210,25 +15767,57 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, - "CreditorAccount": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { "type": "object", - "additionalProperties": false, + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_1" + }, + "Name": { + "$ref": "#/components/schemas/Name" + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -7237,52 +15826,69 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -7294,20 +15900,21 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "$ref": "#/components/schemas/OBDebtorIdentification1" @@ -7325,74 +15932,113 @@ } } }, - "OBWriteDomesticStandingOrderResponse6": { - "type": "object", - "additionalProperties": false, + "OBWriteInternationalResponse5": { "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "DomesticStandingOrderId", "ConsentId", "CreationDateTime", + "Initiation", + "InternationalPaymentId", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "DomesticStandingOrderId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the domestic standing order resource.", - "type": "string", + "InternationalPaymentId": { + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international payment resource." }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of the payment order resource.", "type": "string", + "description": "Specifies the status of the payment information group.", "enum": [ - "Cancelled", - "InitiationCompleted", - "InitiationFailed", - "InitiationPending" + "AcceptedCreditSettlementCompleted", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedWithoutPosting", + "Pending", + "Rejected" ] }, "StatusUpdateDateTime": { + "type": "string", "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { + "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Refund": { - "type": "object", - "additionalProperties": false, "required": [ "Account" ], - "description": "Unambiguous identification of the refund account to which a refund will be made as a result of the transaction.", + "type": "object", "properties": { - "Account": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Set of elements used to identify a person or an organisation." + }, + "Agent": { "type": "object", - "additionalProperties": false, + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_1" + }, + "Name": { + "$ref": "#/components/schemas/Name" + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." + }, + "Account": { "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Provides the details to identify an account.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -7401,29 +16047,28 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Provides the details to identify an account." } } }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { "$ref": "#/components/schemas/OBChargeBearerType1Code" @@ -7434,77 +16079,114 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, - "Initiation": { - "type": "object", - "additionalProperties": false, + "ExchangeRateInformation": { "required": [ - "Frequency", - "FirstPaymentDateTime", - "FirstPaymentAmount", - "CreditorAccount" + "ExchangeRate", + "RateType", + "UnitCurrency" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a domestic standing order.", + "type": "object", "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", + "ExpirationDateTime": { "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "EndToEndIdentification", + "InstructedAmount", + "InstructionIdentification" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "EndToEndIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, - "RecurringPaymentDateTime": { - "description": "The date on which the first recurring payment for a Standing Order schedule will be made. \nUsage: This must be populated only if the first recurring date is different to the first payment date.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "InstructionPriority": { "type": "string", - "format": "date-time" + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "Purpose": { + "maxLength": 4, + "minLength": 1, "type": "string", - "format": "date-time" + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, - "FirstPaymentAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "The amount of the first Standing Order", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, - "RecurringPaymentAmount": { - "type": "object", - "additionalProperties": false, + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" + }, + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." + }, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { "required": [ "Amount", "Currency" ], - "description": "The amount of the recurring Standing Order", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -7512,33 +16194,49 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, - "FinalPaymentAmount": { - "type": "object", - "additionalProperties": false, + "ExchangeRateInformation": { "required": [ - "Amount", - "Currency" + "RateType", + "UnitCurrency" ], - "description": "The amount of the final Standing Order", + "type": "object", "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." } - } + }, + "description": "Provides details on the currency exchange rate and contract." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Provides the details to identify the debtor account.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -7547,25 +16245,57 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, - "CreditorAccount": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { "type": "object", - "additionalProperties": false, + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_1" + }, + "Name": { + "$ref": "#/components/schemas/Name" + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Identification assigned by an institution to identify an account. This identification is known by the account owner.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -7574,32 +16304,50 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment." }, "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, "required": [ "Status" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { "Status": { - "description": "Specifies the status of the authorisation flow in code form.", "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ "Authorised", "AwaitingFurtherAuthorisation", @@ -7607,24 +16355,25 @@ ] }, "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." }, "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" + "type": "integer", + "description": "Number of authorisations received." }, "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "$ref": "#/components/schemas/OBDebtorIdentification1" @@ -7639,81 +16388,145 @@ } } }, - "OBWriteFile2": { - "type": "object", - "additionalProperties": false, + "OBWriteInternationalScheduled3": { "required": [ - "Data" + "Data", + "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "Initiation" ], + "type": "object", "properties": { "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "FileType", - "FileHash" + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file.", + "type": "object", "properties": { - "FileType": { - "description": "Specifies the payment file type.", + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.PaymentInitiation.3.1", - "UK.OBIE.pain.001.001.08" - ] + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, - "FileHash": { - "description": "A base64 encoding of a SHA256 hash of the file to be uploaded.", - "type": "string", + "EndToEndIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 44 + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, - "FileReference": { - "description": "Reference for the file.", + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "InstructionPriority": { "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, - "NumberOfTransactions": { - "description": "Number of individual transactions contained in the payment information group.", + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, "type": "string", - "pattern": "[0-9]{1,15}" + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, - "ControlSum": { - "description": "Total of all individual amounts included in the group, irrespective of currencies.", - "type": "number" + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" }, "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, - "DebtorAccount": { + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], "type": "object", - "additionalProperties": false, + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -7722,112 +16535,255 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_1" + }, + "Name": { + "$ref": "#/components/schemas/Name" + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." } } + }, + "Risk": { + "$ref": "#/components/schemas/OBRisk1" } } }, - "OBWriteFileConsent3": { - "type": "object", - "additionalProperties": false, + "OBWriteInternationalScheduledConsent5": { "required": [ - "Data" + "Data", + "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "Initiation" + "Initiation", + "Permission" ], + "type": "object", "properties": { + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "FileType", - "FileHash" + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file.", + "type": "object", "properties": { - "FileType": { - "description": "Specifies the payment file type.", + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.PaymentInitiation.3.1", - "UK.OBIE.pain.001.001.08" - ] + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." }, - "FileHash": { - "description": "A base64 encoding of a SHA256 hash of the file to be uploaded.", - "type": "string", + "EndToEndIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 44 + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, - "FileReference": { - "description": "Reference for the file.", + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "InstructionPriority": { "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, - "NumberOfTransactions": { - "description": "Number of individual transactions contained in the payment information group.", + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, "type": "string", - "pattern": "[0-9]{1,15}" + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, - "ControlSum": { - "description": "Total of all individual amounts included in the group, irrespective of currencies.", - "type": "number" + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" }, "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, - "DebtorAccount": { + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], "type": "object", - "additionalProperties": false, + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -7836,71 +16792,128 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, - "RemittanceInformation": { + "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "Name": { + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_1" + }, + "Name": { + "$ref": "#/components/schemas/Name" + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -7912,86 +16925,112 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." } } + }, + "Risk": { + "$ref": "#/components/schemas/OBRisk1" } } }, - "OBWriteFileConsentResponse4": { - "type": "object", - "additionalProperties": false, + "OBWriteInternationalScheduledConsentResponse6": { "required": [ - "Data" + "Data", + "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", + "Initiation", + "Permission", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of consent resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", - "AwaitingUpload", "Consumed", "Rejected" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the consent resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, + "ReadRefundAccount": { + "type": "string", + "description": "Specifies to share the refund account details with PISP", + "enum": [ + "No", + "Yes" + ] + }, "CutOffDateTime": { + "type": "string", "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { "$ref": "#/components/schemas/OBChargeBearerType1Code" @@ -8002,63 +17041,169 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, - "Initiation": { - "type": "object", - "additionalProperties": false, + "ExchangeRateInformation": { "required": [ - "FileType", - "FileHash" + "ExchangeRate", + "RateType", + "UnitCurrency" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file.", + "type": "object", "properties": { - "FileType": { - "description": "Specifies the payment file type.", + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.PaymentInitiation.3.1", - "UK.OBIE.pain.001.001.08" + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" ] }, - "FileHash": { - "description": "A base64 encoding of a SHA256 hash of the file to be uploaded.", + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 44 + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, - "FileReference": { - "description": "Reference for the file.", + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "InstructionPriority": { "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, - "NumberOfTransactions": { - "description": "Number of individual transactions contained in the payment information group.", + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, "type": "string", - "pattern": "[0-9]{1,15}" + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, - "ControlSum": { - "description": "Total of all individual amounts included in the group, irrespective of currencies.", - "type": "number" + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" }, "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, - "DebtorAccount": { + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { + "required": [ + "Amount", + "Currency" + ], + "type": "object", + "properties": { + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" + }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], "type": "object", - "additionalProperties": false, + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -8067,71 +17212,128 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." }, - "RemittanceInformation": { + "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "Name": { + "maxLength": 350, "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", "type": "string", - "minLength": 1, - "maxLength": 35 - } - } + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_1" + }, + "Name": { + "$ref": "#/components/schemas/Name" + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." + }, + "RemittanceInformation": { + "type": "object", + "properties": { + "Unstructured": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." + }, + "Reference": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." + } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -8143,26 +17345,30 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "$ref": "#/components/schemas/OBDebtorIdentification1" } } }, + "Risk": { + "$ref": "#/components/schemas/OBRisk1" + }, "Links": { "$ref": "#/components/schemas/Links" }, @@ -8171,67 +17377,141 @@ } } }, - "OBWriteFileResponse3": { - "type": "object", - "additionalProperties": false, + "OBWriteInternationalScheduledResponse6": { "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "FilePaymentId", "ConsentId", "CreationDateTime", + "Initiation", + "InternationalScheduledPaymentId", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "FilePaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the file payment resource.", - "type": "string", + "InternationalScheduledPaymentId": { + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international scheduled payment resource." }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of the payment order resource.", "type": "string", + "description": "Specifies the status of the payment order resource.", "enum": [ + "Cancelled", "InitiationCompleted", "InitiationFailed", "InitiationPending" ] }, "StatusUpdateDateTime": { + "type": "string", "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedExecutionDateTime": { + "type": "string", + "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "ExpectedSettlementDateTime": { "type": "string", + "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, + "Refund": { + "required": [ + "Account" + ], + "type": "object", + "properties": { + "Creditor": { + "type": "object", + "properties": { + "Name": { + "maxLength": 140, + "minLength": 1, + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Set of elements used to identify a person or an organisation." + }, + "Agent": { + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_1" + }, + "Name": { + "$ref": "#/components/schemas/Name" + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." + }, + "Account": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Provides the details to identify an account." + } + } + }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { "$ref": "#/components/schemas/OBChargeBearerType1Code" @@ -8242,116 +17522,280 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" } - } + }, + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, - "Initiation": { - "type": "object", - "additionalProperties": false, + "ExchangeRateInformation": { "required": [ - "FileType", - "FileHash" + "ExchangeRate", + "RateType", + "UnitCurrency" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds using a payment file.", + "type": "object", "properties": { - "FileType": { - "description": "Specifies the payment file type.", + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", "type": "string", - "x-namespaced-enum": [ - "UK.OBIE.PaymentInitiation.3.1", - "UK.OBIE.pain.001.001.08" + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" ] }, - "FileHash": { - "description": "A base64 encoding of a SHA256 hash of the file to be uploaded.", + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + }, + "ExpirationDateTime": { + "type": "string", + "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + } + }, + "description": "Further detailed information on the exchange rate that has been used in the payment transaction." + }, + "Initiation": { + "required": [ + "CreditorAccount", + "CurrencyOfTransfer", + "InstructedAmount", + "InstructionIdentification", + "RequestedExecutionDateTime" + ], + "type": "object", + "properties": { + "InstructionIdentification": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction." + }, + "EndToEndIdentification": { + "maxLength": 35, "minLength": 1, - "maxLength": 44 + "type": "string", + "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field." }, - "FileReference": { - "description": "Reference for the file.", + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "InstructionPriority": { "type": "string", + "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "enum": [ + "Normal", + "Urgent" + ] + }, + "Purpose": { + "maxLength": 4, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, - "NumberOfTransactions": { - "description": "Number of individual transactions contained in the payment information group.", + "ExtendedPurpose": { + "maxLength": 140, + "minLength": 1, "type": "string", - "pattern": "[0-9]{1,15}" + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, - "ControlSum": { - "description": "Total of all individual amounts included in the group, irrespective of currencies.", - "type": "number" + "ChargeBearer": { + "$ref": "#/components/schemas/OBChargeBearerType1Code" }, "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + "CurrencyOfTransfer": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, + "DestinationCountryCode": { + "pattern": "[A-Z]{2,2}", + "type": "string", + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." + }, + "InstructedAmount": { "required": [ - "SchemeName", - "Identification" + "Amount", + "Currency" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" + "Amount": { + "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" }, + "Currency": { + "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" + } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." + }, + "ExchangeRateInformation": { + "required": [ + "RateType", + "UnitCurrency" + ], + "type": "object", + "properties": { + "UnitCurrency": { + "pattern": "^[A-Z]{3,3}$", + "type": "string", + "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP." + }, + "ExchangeRate": { + "type": "number", + "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency." + }, + "RateType": { + "type": "string", + "description": "Specifies the type used to complete the currency exchange.", + "enum": [ + "Actual", + "Agreed", + "Indicative" + ] + }, + "ContractIdentification": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent." + } + }, + "description": "Provides details on the currency exchange rate and contract." + }, + "DebtorAccount": { + "required": [ + "Identification", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, + "minLength": 1, + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." + }, + "SecondaryIdentification": { + "$ref": "#/components/schemas/SecondaryIdentification" + } + }, + "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction." + }, + "Creditor": { + "type": "object", + "properties": { "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", + "maxLength": 140, + "minLength": 1, "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Party to which an amount of money is due." + }, + "CreditorAgent": { + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_1" + }, + "Name": { + "$ref": "#/components/schemas/Name" + }, + "PostalAddress": { + "$ref": "#/components/schemas/OBPostalAddress6" + } + }, + "description": "Financial institution servicing an account for the creditor." + }, + "CreditorAccount": { + "required": [ + "Identification", + "Name", + "SchemeName" + ], + "type": "object", + "properties": { + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" + }, + "Identification": { + "$ref": "#/components/schemas/Identification_0" + }, + "Name": { + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction." }, "RemittanceInformation": { "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", "properties": { "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form." }, "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped." } - } + }, + "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment." }, "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, "required": [ "Status" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { "Status": { - "description": "Specifies the status of the authorisation flow in code form.", "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ "Authorised", "AwaitingFurtherAuthorisation", @@ -8359,24 +17803,25 @@ ] }, "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." }, "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" + "type": "integer", + "description": "Number of authorisations received." }, "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "$ref": "#/components/schemas/OBDebtorIdentification1" @@ -8391,140 +17836,94 @@ } } }, - "OBWriteFundsConfirmationResponse1": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "properties": { - "FundsAvailableResult": { - "type": "object", - "additionalProperties": false, - "required": [ - "FundsAvailableDateTime", - "FundsAvailable" - ], - "description": "Result of a funds availability check.", - "properties": { - "FundsAvailableDateTime": { - "description": "Date and time at which the funds availability check was generated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FundsAvailable": { - "description": "Flag to indicate the availability of funds given the Amount in the consent request.", - "type": "boolean" - } - } - }, - "SupplementaryData": { - "$ref": "#/components/schemas/OBSupplementaryData1" - } - } - }, - "Links": { - "$ref": "#/components/schemas/Links" - }, - "Meta": { - "$ref": "#/components/schemas/Meta" - } - } - }, - "OBWriteInternational3": { - "type": "object", - "additionalProperties": false, + "OBWriteInternationalStandingOrder4": { "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "Initiation" ], + "type": "object", "properties": { "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "EndToEndIdentification", + "CreditorAccount", "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "Reference": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "FinalPaymentDateTime": { "type": "string", - "enum": [ - "Normal", - "Urgent" - ] + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, "ChargeBearer": { "$ref": "#/components/schemas/OBChargeBearerType1Code" }, "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "pattern": "[A-Z]{2,2}", "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -8532,51 +17931,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -8585,42 +17948,43 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Provides the details to identify the debtor account." }, "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Party to which an amount of money is due." }, "CreditorAgent": { "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" }, "Identification": { - "$ref": "#/components/schemas/Identification_1" + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, "Name": { "$ref": "#/components/schemas/Name" @@ -8628,17 +17992,16 @@ "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -8647,39 +18010,22 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } + }, + "description": "Provides the details to identify the beneficiary account." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." } } }, @@ -8688,97 +18034,103 @@ } } }, - "OBWriteInternationalConsent5": { - "type": "object", - "additionalProperties": false, + "OBWriteInternationalStandingOrderConsent6": { "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "Initiation" + "Initiation", + "Permission" ], + "type": "object", "properties": { + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", "type": "string", + "description": "Specifies to share the refund account details with PISP", "enum": [ "No", "Yes" ] }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "EndToEndIdentification", + "CreditorAccount", "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "Reference": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "FinalPaymentDateTime": { "type": "string", - "enum": [ - "Normal", - "Urgent" - ] + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, "ChargeBearer": { "$ref": "#/components/schemas/OBChargeBearerType1Code" }, "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "pattern": "[A-Z]{2,2}", "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -8786,51 +18138,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -8839,42 +18155,43 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Provides the details to identify the debtor account." }, "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Party to which an amount of money is due." }, "CreditorAgent": { "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" }, "Identification": { - "$ref": "#/components/schemas/Identification_1" + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, "Name": { "$ref": "#/components/schemas/Name" @@ -8882,17 +18199,16 @@ "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -8901,71 +18217,51 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } + }, + "description": "Provides the details to identify the beneficiary account." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -8977,20 +18273,21 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." } } }, @@ -8999,39 +18296,38 @@ } } }, - "OBWriteInternationalConsentResponse6": { - "type": "object", - "additionalProperties": false, + "OBWriteInternationalStandingOrderConsentResponse7": { "required": [ "Data", "Risk" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ "ConsentId", "CreationDateTime", + "Initiation", + "Permission", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of consent resource in code form.", "type": "string", + "description": "Specifies the status of resource in code form.", "enum": [ "Authorised", "AwaitingAuthorisation", @@ -9040,44 +18336,39 @@ ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, + "Permission": { + "type": "string", + "description": "Specifies the Open Banking service request types.", + "enum": [ + "Create" + ] + }, "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", "type": "string", + "description": "Specifies to share the refund account details with PISP", "enum": [ "No", "Yes" ] }, "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { "$ref": "#/components/schemas/OBChargeBearerType1Code" @@ -9088,118 +18379,78 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" } - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "ExchangeRate", - "RateType" - ], - "description": "Further detailed information on the exchange rate that has been used in the payment transaction.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 }, - "ExpirationDateTime": { - "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "EndToEndIdentification", + "CreditorAccount", "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "Reference": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "FinalPaymentDateTime": { "type": "string", - "enum": [ - "Normal", - "Urgent" - ] + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, "ChargeBearer": { "$ref": "#/components/schemas/OBChargeBearerType1Code" }, "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "pattern": "[A-Z]{2,2}", "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -9207,95 +18458,60 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, + "DebtorAccount": { "required": [ - "UnitCurrency", - "RateType" + "Identification", + "SchemeName" ], - "description": "Provides details on the currency exchange rate and contract.", + "type": "object", "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" + "SchemeName": { + "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" + "Identification": { + "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Provides the details to identify the debtor account." }, "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Party to which an amount of money is due." }, "CreditorAgent": { "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" }, "Identification": { - "$ref": "#/components/schemas/Identification_1" + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, "Name": { "$ref": "#/components/schemas/Name" @@ -9303,17 +18519,16 @@ "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -9322,71 +18537,51 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } + }, + "description": "Provides the details to identify the beneficiary account." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." }, "Authorisation": { - "type": "object", - "additionalProperties": false, "required": [ "AuthorisationType" ], - "description": "The authorisation type request from the TPP.", + "type": "object", "properties": { "AuthorisationType": { - "description": "Type of authorisation flow requested.", "type": "string", + "description": "Type of authorisation flow requested.", "enum": [ "Any", "Single" ] }, "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The authorisation type request from the TPP." }, "SCASupportData": { "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", "properties": { "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "type": "string", + "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", "enum": [ "BillPayment", "ContactlessTravel", @@ -9398,20 +18593,21 @@ ] }, "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "type": "string", + "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", "enum": [ "CA", "SCA" ] }, "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence." } - } + }, + "description": "Supporting Data provided by TPP, when requesting SCA Exemption." }, "Debtor": { "$ref": "#/components/schemas/OBDebtorIdentification1" @@ -9429,96 +18625,78 @@ } } }, - "OBWriteInternationalResponse5": { - "type": "object", - "additionalProperties": false, + "OBWriteInternationalStandingOrderResponse7": { "required": [ "Data" ], + "type": "object", "properties": { "Data": { - "type": "object", - "additionalProperties": false, "required": [ - "InternationalPaymentId", "ConsentId", "CreationDateTime", + "Initiation", + "InternationalStandingOrderId", "Status", - "StatusUpdateDateTime", - "Initiation" + "StatusUpdateDateTime" ], + "type": "object", "properties": { - "InternationalPaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international payment resource.", - "type": "string", + "InternationalStandingOrderId": { + "maxLength": 40, "minLength": 1, - "maxLength": 40 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international standing order resource." }, "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", + "maxLength": 128, "minLength": 1, - "maxLength": 128 + "type": "string", + "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource." }, "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Status": { - "description": "Specifies the status of the payment information group.", "type": "string", + "description": "Specifies the status of resource in code form.", "enum": [ - "AcceptedCreditSettlementCompleted", - "AcceptedSettlementCompleted", - "AcceptedSettlementInProcess", - "AcceptedWithoutPosting", - "Pending", - "Rejected" + "Cancelled", + "InitiationCompleted", + "InitiationFailed", + "InitiationPending" ] }, "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "Refund": { - "type": "object", - "additionalProperties": false, "required": [ "Account" ], + "type": "object", "properties": { "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Set of elements used to identify a person or an organisation." }, "Agent": { "type": "object", - "additionalProperties": false, - "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution.", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" @@ -9532,17 +18710,16 @@ "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution." }, "Account": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Provides the details to identify an account.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -9551,29 +18728,28 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Provides the details to identify an account." } } }, "Charges": { "type": "array", "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", "required": [ + "Amount", "ChargeBearer", - "Type", - "Amount" + "Type" ], + "type": "object", "properties": { "ChargeBearer": { "$ref": "#/components/schemas/OBChargeBearerType1Code" @@ -9584,118 +18760,78 @@ "Amount": { "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" } - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "ExchangeRate", - "RateType" - ], - "description": "Further detailed information on the exchange rate that has been used in the payment transaction.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 }, - "ExpirationDateTime": { - "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } + "description": "Set of elements used to provide details of a charge for the payment initiation." } }, "Initiation": { - "type": "object", - "additionalProperties": false, "required": [ - "InstructionIdentification", - "EndToEndIdentification", + "CreditorAccount", "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" + "FirstPaymentDateTime", + "Frequency", + "InstructedAmount" ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single international payment.", + "type": "object", "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", + "Frequency": { + "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", "type": "string", - "minLength": 1, - "maxLength": 35 + "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", + "Reference": { + "maxLength": 35, + "minLength": 1, "type": "string", + "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification." + }, + "NumberOfPayments": { + "maxLength": 35, "minLength": 1, - "maxLength": 35 + "type": "string", + "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date." }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + "FirstPaymentDateTime": { + "type": "string", + "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", + "FinalPaymentDateTime": { "type": "string", - "enum": [ - "Normal", - "Urgent" - ] + "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" }, "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", + "maxLength": 4, "minLength": 1, - "maxLength": 4 + "type": "string", + "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org." }, "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", + "maxLength": 140, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes." }, "ChargeBearer": { "$ref": "#/components/schemas/OBChargeBearerType1Code" }, "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", + "pattern": "^[A-Z]{3,3}$", "type": "string", - "pattern": "^[A-Z]{3,3}$" + "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account." }, "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", + "pattern": "[A-Z]{2,2}", "type": "string", - "pattern": "[A-Z]{2,2}" + "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code)." }, "InstructedAmount": { - "type": "object", - "additionalProperties": false, "required": [ "Amount", "Currency" ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", + "type": "object", "properties": { "Amount": { "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" @@ -9703,51 +18839,15 @@ "Currency": { "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } + }, + "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain." }, "DebtorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", - "Identification" + "Identification", + "SchemeName" ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -9756,42 +18856,43 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } + }, + "description": "Provides the details to identify the debtor account." }, "Creditor": { "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", "properties": { "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 140 + "type": "string", + "description": "Name by which a party is known and which is usually used to identify that party." }, "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Party to which an amount of money is due." }, "CreditorAgent": { "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" }, "Identification": { - "$ref": "#/components/schemas/Identification_1" + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Unique and unambiguous identification of the servicing institution." }, "Name": { "$ref": "#/components/schemas/Name" @@ -9799,17 +18900,16 @@ "PostalAddress": { "$ref": "#/components/schemas/OBPostalAddress6" } - } + }, + "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account." }, "CreditorAccount": { - "type": "object", - "additionalProperties": false, "required": [ - "SchemeName", "Identification", - "Name" + "Name", + "SchemeName" ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", + "type": "object", "properties": { "SchemeName": { "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" @@ -9818,51 +18918,32 @@ "$ref": "#/components/schemas/Identification_0" }, "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", + "maxLength": 350, "minLength": 1, - "maxLength": 70 + "type": "string", + "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory." }, "SecondaryIdentification": { "$ref": "#/components/schemas/SecondaryIdentification" } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } + }, + "description": "Provides the details to identify the beneficiary account." }, "SupplementaryData": { "$ref": "#/components/schemas/OBSupplementaryData1" } - } + }, + "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order." }, "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, "required": [ "Status" ], - "description": "The multiple authorisation flow response from the ASPSP.", + "type": "object", "properties": { "Status": { - "description": "Specifies the status of the authorisation flow in code form.", "type": "string", + "description": "Specifies the status of the authorisation flow in code form.", "enum": [ "Authorised", "AwaitingFurtherAuthorisation", @@ -9870,24 +18951,25 @@ ] }, "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" + "type": "integer", + "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey)." }, "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" + "type": "integer", + "description": "Number of authorisations received." }, "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" }, "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "type": "string", + "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", "format": "date-time" } - } + }, + "description": "The multiple authorisation flow response from the ASPSP." }, "Debtor": { "$ref": "#/components/schemas/OBDebtorIdentification1" @@ -9902,2838 +18984,1859 @@ } } }, - "OBWriteInternationalScheduled3": { - "type": "object", - "additionalProperties": false, + "OBWritePaymentDetailsResponse1": { "required": [ - "Data", - "Risk" + "Data" ], + "type": "object", "properties": { "Data": { "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "Initiation" - ], "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" - }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", - "type": "string", - "enum": [ - "Normal", - "Urgent" - ] - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_1" - }, - "Name": { - "$ref": "#/components/schemas/Name" + "PaymentStatus": { + "type": "array", + "items": { + "required": [ + "PaymentTransactionId", + "Status", + "StatusUpdateDateTime" + ], + "type": "object", + "properties": { + "PaymentTransactionId": { + "maxLength": 210, + "minLength": 1, + "type": "string", + "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable." + }, + "Status": { + "type": "string", + "description": "Status of a transfe, as assigned by the transaction administrator.", + "enum": [ + "Accepted", + "AcceptedCancellationRequest", + "AcceptedCreditSettlementCompleted", + "AcceptedCustomerProfile", + "AcceptedFundsChecked", + "AcceptedSettlementCompleted", + "AcceptedSettlementInProcess", + "AcceptedTechnicalValidation", + "AcceptedWithChange", + "AcceptedWithoutPosting", + "Cancelled", + "NoCancellationProcess", + "PartiallyAcceptedCancellationRequest", + "PartiallyAcceptedTechnicalCorrect", + "PaymentCancelled", + "Pending", + "PendingCancellationRequest", + "Received", + "Rejected", + "RejectedCancellationRequest" + ] + }, + "StatusUpdateDateTime": { + "type": "string", + "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", + "format": "date-time" + }, + "StatusDetail": { + "required": [ + "Status" + ], + "type": "object", + "properties": { + "LocalInstrument": { + "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" + }, + "Status": { + "maxLength": 128, + "minLength": 1, + "type": "string", + "description": "Status of a transfer, as assigned by the transaction administrator." + }, + "StatusReason": { + "type": "string", + "description": "Reason Code provided for the status of a transfer.", + "enum": [ + "Cancelled", + "PendingFailingSettlement", + "PendingSettlement", + "Proprietary", + "ProprietaryRejection", + "Suspended", + "Unmatched" + ] + }, + "StatusReasonDescription": { + "maxLength": 256, + "minLength": 1, + "type": "string", + "description": "Reason provided for the status of a transfer." + } }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } + "description": "Payment status details as per underlying Payment Rail." } }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "$ref": "#/components/schemas/OBSupplementaryData1" - } + "description": "Payment status details." } } } }, - "Risk": { - "$ref": "#/components/schemas/OBRisk1" + "Links": { + "$ref": "#/components/schemas/Links" + }, + "Meta": { + "$ref": "#/components/schemas/Meta" } } }, - "OBWriteInternationalScheduledConsent5": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "Permission", - "Initiation" - ], - "properties": { - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" - }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", - "type": "string", - "enum": [ - "Normal", - "Urgent" - ] - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_1" - }, - "Name": { - "$ref": "#/components/schemas/Name" - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "$ref": "#/components/schemas/OBSupplementaryData1" - } - } - }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] - }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", - "minLength": 1, - "maxLength": 128 - } - } - } + "PostCode": { + "maxLength": 16, + "minLength": 1, + "type": "string", + "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail." + }, + "SecondaryIdentification": { + "maxLength": 34, + "minLength": 1, + "type": "string", + "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination)." + }, + "StreetName": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Name of a street or thoroughfare." + }, + "SubDepartment": { + "maxLength": 70, + "minLength": 1, + "type": "string", + "description": "Identification of a sub-division of a large organisation or building." + }, + "TownName": { + "maxLength": 35, + "minLength": 1, + "type": "string", + "description": "Name of a built-up area, with defined boundaries, and a local government." + } + }, + "responses": { + "200DomesticPaymentConsentsConsentIdFundsConfirmationRead": { + "description": "Domestic Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" } }, - "Risk": { - "$ref": "#/components/schemas/OBRisk1" + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" + } } } }, - "OBWriteInternationalScheduledConsentResponse6": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Permission", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of consent resource in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingAuthorisation", - "Consumed", - "Rejected" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Charges": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", - "required": [ - "ChargeBearer", - "Type", - "Amount" - ], - "properties": { - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "Type": { - "$ref": "#/components/schemas/OBExternalPaymentChargeType1Code" - }, - "Amount": { - "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" - } - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "ExchangeRate", - "RateType" - ], - "description": "Further detailed information on the exchange rate that has been used in the payment transaction.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "ExpirationDateTime": { - "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" - }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", - "type": "string", - "enum": [ - "Normal", - "Urgent" - ] - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_1" - }, - "Name": { - "$ref": "#/components/schemas/Name" - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "$ref": "#/components/schemas/OBSupplementaryData1" - } - } - }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] - }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", - "minLength": 1, - "maxLength": 128 - } - } - }, - "Debtor": { - "$ref": "#/components/schemas/OBDebtorIdentification1" - } + "200DomesticPaymentConsentsConsentIdRead": { + "description": "Domestic Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" } }, - "Risk": { - "$ref": "#/components/schemas/OBRisk1" + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticConsentResponse5" + } }, - "Links": { - "$ref": "#/components/schemas/Links" + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticConsentResponse5" + } + } + } + }, + "200DomesticPaymentsDomesticPaymentIdPaymentDetailsRead": { + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } }, - "Meta": { - "$ref": "#/components/schemas/Meta" + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } } } }, - "OBWriteInternationalScheduledResponse6": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "InternationalScheduledPaymentId", - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Initiation" - ], - "properties": { - "InternationalScheduledPaymentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international scheduled payment resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the message was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of the payment order resource.", - "type": "string", - "enum": [ - "Cancelled", - "InitiationCompleted", - "InitiationFailed", - "InitiationPending" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedExecutionDateTime": { - "description": "Expected execution date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpectedSettlementDateTime": { - "description": "Expected settlement date and time for the payment resource.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Refund": { - "type": "object", - "additionalProperties": false, - "required": [ - "Account" - ], - "properties": { - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "Agent": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_1" - }, - "Name": { - "$ref": "#/components/schemas/Name" - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "Account": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify an account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - } - } - }, - "Charges": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", - "required": [ - "ChargeBearer", - "Type", - "Amount" - ], - "properties": { - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "Type": { - "$ref": "#/components/schemas/OBExternalPaymentChargeType1Code" - }, - "Amount": { - "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" - } - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "ExchangeRate", - "RateType" - ], - "description": "Further detailed information on the exchange rate that has been used in the payment transaction.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - }, - "ExpirationDateTime": { - "description": "Specified date and time the exchange rate agreement will expire.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "InstructionIdentification", - "RequestedExecutionDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for a single scheduled international payment.", - "properties": { - "InstructionIdentification": { - "description": "Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.\nUsage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "EndToEndIdentification": { - "description": "Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.\nUsage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction.\nOB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" - }, - "InstructionPriority": { - "description": "Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction.", - "type": "string", - "enum": [ - "Normal", - "Urgent" - ] - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "RequestedExecutionDateTime": { - "description": "Date at which the initiating party requests the clearing agent to process the payment. \nUsage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "ExchangeRateInformation": { - "type": "object", - "additionalProperties": false, - "required": [ - "UnitCurrency", - "RateType" - ], - "description": "Provides details on the currency exchange rate and contract.", - "properties": { - "UnitCurrency": { - "description": "Currency in which the rate of exchange is expressed in a currency exchange. In the example 1GBP = xxxCUR, the unit currency is GBP.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "ExchangeRate": { - "description": "The factor used for conversion of an amount from one currency to another. This reflects the price at which one currency was bought with another currency.", - "type": "number" - }, - "RateType": { - "description": "Specifies the type used to complete the currency exchange.", - "type": "string", - "enum": [ - "Actual", - "Agreed", - "Indicative" - ] - }, - "ContractIdentification": { - "description": "Unique and unambiguous reference to the foreign exchange contract agreed between the initiating party/creditor and the debtor agent.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Financial institution servicing an account for the creditor.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_1" - }, - "Name": { - "$ref": "#/components/schemas/Name" - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "RemittanceInformation": { - "type": "object", - "additionalProperties": false, - "description": "Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.", - "properties": { - "Unstructured": { - "description": "Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.\nOB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped.", - "type": "string", - "minLength": 1, - "maxLength": 35 - } - } - }, - "SupplementaryData": { - "$ref": "#/components/schemas/OBSupplementaryData1" - } - } - }, - "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Status" - ], - "description": "The multiple authorisation flow response from the ASPSP.", - "properties": { - "Status": { - "description": "Specifies the status of the authorisation flow in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingFurtherAuthorisation", - "Rejected" - ] - }, - "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" - }, - "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" - }, - "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "Debtor": { - "$ref": "#/components/schemas/OBDebtorIdentification1" - } - } - }, - "Links": { - "$ref": "#/components/schemas/Links" - }, - "Meta": { - "$ref": "#/components/schemas/Meta" - } - } - }, - "OBWriteInternationalStandingOrder4": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Frequency", - "FirstPaymentDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order.", - "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the debtor account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" - }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "$ref": "#/components/schemas/Name" - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify the beneficiary account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "SupplementaryData": { - "$ref": "#/components/schemas/OBSupplementaryData1" - } - } - } - } - }, - "Risk": { - "$ref": "#/components/schemas/OBRisk1" - } - } - }, - "OBWriteInternationalStandingOrderConsent6": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "Permission", - "Initiation" - ], - "properties": { - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Frequency", - "FirstPaymentDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order.", - "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the debtor account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" - }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "$ref": "#/components/schemas/Name" - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify the beneficiary account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "SupplementaryData": { - "$ref": "#/components/schemas/OBSupplementaryData1" - } - } - }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] - }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", - "minLength": 1, - "maxLength": 128 - } - } - } - } - }, - "Risk": { - "$ref": "#/components/schemas/OBRisk1" - } - } - }, - "OBWriteInternationalStandingOrderConsentResponse7": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data", - "Risk" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Permission", - "Initiation" - ], - "properties": { - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of resource in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingAuthorisation", - "Consumed", - "Rejected" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Permission": { - "description": "Specifies the Open Banking service request types.", - "type": "string", - "enum": [ - "Create" - ] - }, - "ReadRefundAccount": { - "description": "Specifies to share the refund account details with PISP", - "type": "string", - "enum": [ - "No", - "Yes" - ] - }, - "CutOffDateTime": { - "description": "Specified cut-off date and time for the payment consent.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Charges": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", - "required": [ - "ChargeBearer", - "Type", - "Amount" - ], - "properties": { - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "Type": { - "$ref": "#/components/schemas/OBExternalPaymentChargeType1Code" - }, - "Amount": { - "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" - } - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Frequency", - "FirstPaymentDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order.", - "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the debtor account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" - }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "$ref": "#/components/schemas/Name" - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify the beneficiary account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "SupplementaryData": { - "$ref": "#/components/schemas/OBSupplementaryData1" - } - } - }, - "Authorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "AuthorisationType" - ], - "description": "The authorisation type request from the TPP.", - "properties": { - "AuthorisationType": { - "description": "Type of authorisation flow requested.", - "type": "string", - "enum": [ - "Any", - "Single" - ] - }, - "CompletionDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "SCASupportData": { - "type": "object", - "additionalProperties": false, - "description": "Supporting Data provided by TPP, when requesting SCA Exemption.", - "properties": { - "RequestedSCAExemptionType": { - "description": "This field allows a PISP to request specific SCA Exemption for a Payment Initiation", - "type": "string", - "enum": [ - "BillPayment", - "ContactlessTravel", - "EcommerceGoods", - "EcommerceServices", - "Kiosk", - "Parking", - "PartyToParty" - ] - }, - "AppliedAuthenticationApproach": { - "description": "Specifies a character string with a maximum length of 40 characters.\nUsage: This field indicates whether the PSU was subject to SCA performed by the TPP", - "type": "string", - "enum": [ - "CA", - "SCA" - ] - }, - "ReferencePaymentOrderId": { - "description": "Specifies a character string with a maximum length of 140 characters.\nUsage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence.", - "type": "string", - "minLength": 1, - "maxLength": 128 - } - } - }, - "Debtor": { - "$ref": "#/components/schemas/OBDebtorIdentification1" - } - } - }, - "Risk": { - "$ref": "#/components/schemas/OBRisk1" - }, - "Links": { - "$ref": "#/components/schemas/Links" - }, - "Meta": { - "$ref": "#/components/schemas/Meta" - } - } - }, - "OBWriteInternationalStandingOrderResponse7": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "required": [ - "InternationalStandingOrderId", - "ConsentId", - "CreationDateTime", - "Status", - "StatusUpdateDateTime", - "Initiation" - ], - "properties": { - "InternationalStandingOrderId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the international standing order resource.", - "type": "string", - "minLength": 1, - "maxLength": 40 - }, - "ConsentId": { - "description": "OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "CreationDateTime": { - "description": "Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Status": { - "description": "Specifies the status of resource in code form.", - "type": "string", - "enum": [ - "Cancelled", - "InitiationCompleted", - "InitiationFailed", - "InitiationPending" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Refund": { - "type": "object", - "additionalProperties": false, - "required": [ - "Account" - ], - "properties": { - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to identify a person or an organisation.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "Agent": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to uniquely and unambiguously identify a financial institution or a branch of a financial institution.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_1" - }, - "Name": { - "$ref": "#/components/schemas/Name" - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "Account": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify an account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - } - } - }, - "Charges": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Set of elements used to provide details of a charge for the payment initiation.", - "required": [ - "ChargeBearer", - "Type", - "Amount" - ], - "properties": { - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "Type": { - "$ref": "#/components/schemas/OBExternalPaymentChargeType1Code" - }, - "Amount": { - "$ref": "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount" - } - } - } - }, - "Initiation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Frequency", - "FirstPaymentDateTime", - "CurrencyOfTransfer", - "InstructedAmount", - "CreditorAccount" - ], - "description": "The Initiation payload is sent by the initiating party to the ASPSP. It is used to request movement of funds from the debtor account to a creditor for an international standing order.", - "properties": { - "Frequency": { - "description": "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay - Every working day\nIntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December. \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.\nRECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December. \nIndividual Patterns:\nEvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\nThe regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:\nEvryDay\nEvryWorkgDay\nIntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\nQtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$", - "type": "string", - "pattern": "^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" - }, - "Reference": { - "description": "Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction.\nUsage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money.\nIf the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "NumberOfPayments": { - "description": "Number of the payments that will be made in completing this frequency sequence including any executed since the sequence start date.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "FirstPaymentDateTime": { - "description": "The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "FinalPaymentDateTime": { - "description": "The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "Purpose": { - "description": "Specifies the external purpose code in the format of character string with a maximum length of 4 characters.\nThe list of valid codes is an external code list published separately.\nExternal code sets can be downloaded from www.iso20022.org.", - "type": "string", - "minLength": 1, - "maxLength": 4 - }, - "ExtendedPurpose": { - "description": "Specifies the purpose of an international payment, when there is no corresponding 4 character code available in the ISO20022 list of Purpose Codes.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "ChargeBearer": { - "$ref": "#/components/schemas/OBChargeBearerType1Code" - }, - "CurrencyOfTransfer": { - "description": "Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account.", - "type": "string", - "pattern": "^[A-Z]{3,3}$" - }, - "DestinationCountryCode": { - "description": "Country in which Credit Account is domiciled. Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).", - "type": "string", - "pattern": "[A-Z]{2,2}" - }, - "InstructedAmount": { - "type": "object", - "additionalProperties": false, - "required": [ - "Amount", - "Currency" - ], - "description": "Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.\nUsage: This amount has to be transported unchanged through the transaction chain.", - "properties": { - "Amount": { - "$ref": "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType" - }, - "Currency": { - "$ref": "#/components/schemas/ActiveOrHistoricCurrencyCode" - } - } - }, - "DebtorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification" - ], - "description": "Provides the details to identify the debtor account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "Creditor": { - "type": "object", - "additionalProperties": false, - "description": "Party to which an amount of money is due.", - "properties": { - "Name": { - "description": "Name by which a party is known and which is usually used to identify that party.", - "type": "string", - "minLength": 1, - "maxLength": 140 - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAgent": { - "type": "object", - "additionalProperties": false, - "description": "Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account.\nThis is the servicer of the beneficiary account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code" - }, - "Identification": { - "description": "Unique and unambiguous identification of the servicing institution.", - "type": "string", - "minLength": 1, - "maxLength": 35 - }, - "Name": { - "$ref": "#/components/schemas/Name" - }, - "PostalAddress": { - "$ref": "#/components/schemas/OBPostalAddress6" - } - } - }, - "CreditorAccount": { - "type": "object", - "additionalProperties": false, - "required": [ - "SchemeName", - "Identification", - "Name" - ], - "description": "Provides the details to identify the beneficiary account.", - "properties": { - "SchemeName": { - "$ref": "#/components/schemas/OBExternalAccountIdentification4Code" - }, - "Identification": { - "$ref": "#/components/schemas/Identification_0" - }, - "Name": { - "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", - "type": "string", - "minLength": 1, - "maxLength": 70 - }, - "SecondaryIdentification": { - "$ref": "#/components/schemas/SecondaryIdentification" - } - } - }, - "SupplementaryData": { - "$ref": "#/components/schemas/OBSupplementaryData1" - } - } - }, - "MultiAuthorisation": { - "type": "object", - "additionalProperties": false, - "required": [ - "Status" - ], - "description": "The multiple authorisation flow response from the ASPSP.", - "properties": { - "Status": { - "description": "Specifies the status of the authorisation flow in code form.", - "type": "string", - "enum": [ - "Authorised", - "AwaitingFurtherAuthorisation", - "Rejected" - ] - }, - "NumberRequired": { - "description": "Number of authorisations required for payment order (total required at the start of the multi authorisation journey).", - "type": "integer" - }, - "NumberReceived": { - "description": "Number of authorisations received.", - "type": "integer" - }, - "LastUpdateDateTime": { - "description": "Last date and time at the authorisation flow was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "ExpirationDateTime": { - "description": "Date and time at which the requested authorisation flow must be completed.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - } - } - }, - "Debtor": { - "$ref": "#/components/schemas/OBDebtorIdentification1" - } + "200DomesticPaymentsDomesticPaymentIdRead": { + "description": "Domestic Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticResponse5" + } + } + } + }, + "200DomesticScheduledPaymentConsentsConsentIdRead": { + "description": "Domestic Scheduled Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledConsentResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledConsentResponse5" + } + } + } + }, + "200DomesticScheduledPaymentsDomesticScheduledPaymentIdPaymentDetailsRead": { + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } + }, + "200DomesticScheduledPaymentsDomesticScheduledPaymentIdRead": { + "description": "Domestic Scheduled Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledResponse5" + } + } + } + }, + "200DomesticStandingOrderConsentsConsentIdRead": { + "description": "Domestic Standing Order Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6" + } + } + } + }, + "200DomesticStandingOrdersDomesticStandingOrderIdPaymentDetailsRead": { + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } + }, + "200DomesticStandingOrdersDomesticStandingOrderIdRead": { + "description": "Domestic Standing Orders Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderResponse6" + } + } + } + }, + "200FilePaymentConsentsConsentIdFileCreated": { + "description": "File Payment Consents Created", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "200FilePaymentConsentsConsentIdFileRead": { + "description": "File Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/File" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/File" + } + } + } + }, + "200FilePaymentConsentsConsentIdRead": { + "description": "File Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileConsentResponse4" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileConsentResponse4" + } + } + } + }, + "200FilePaymentsFilePaymentIdPaymentDetailsRead": { + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } + }, + "200FilePaymentsFilePaymentIdRead": { + "description": "File Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileResponse3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileResponse3" + } + } + } + }, + "200FilePaymentsFilePaymentIdReportFileRead": { + "description": "File Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/File" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/File" + } + } + } + }, + "200InternationalPaymentConsentsConsentIdFundsConfirmationRead": { + "description": "International Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" + } + } + } + }, + "200InternationalPaymentConsentsConsentIdRead": { + "description": "International Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalConsentResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalConsentResponse6" + } + } + } + }, + "200InternationalPaymentsInternationalPaymentIdPaymentDetailsRead": { + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } + }, + "200InternationalPaymentsInternationalPaymentIdRead": { + "description": "International Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalResponse5" + } + } + } + }, + "200InternationalScheduledPaymentConsentsConsentIdFundsConfirmationRead": { + "description": "International Scheduled Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFundsConfirmationResponse1" + } + } + } + }, + "200InternationalScheduledPaymentConsentsConsentIdRead": { + "description": "International Scheduled Payment Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledConsentResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledConsentResponse6" + } + } + } + }, + "200InternationalScheduledPaymentsInternationalScheduledPaymentIdPaymentDetailsRead": { + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } + }, + "200InternationalScheduledPaymentsInternationalScheduledPaymentIdRead": { + "description": "International Scheduled Payments Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledResponse6" + } + } + } + }, + "200InternationalStandingOrderConsentsConsentIdRead": { + "description": "International Standing Order Consents Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7" + } + } + } + }, + "200InternationalStandingOrdersInternationalStandingOrderPaymentIdPaymentDetailsRead": { + "description": "Payment Details Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWritePaymentDetailsResponse1" + } + } + } + }, + "200InternationalStandingOrdersInternationalStandingOrderPaymentIdRead": { + "description": "International Standing Orders Read", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderResponse7" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderResponse7" + } + } + } + }, + "201DomesticPaymentConsentsCreated": { + "description": "Domestic Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticConsentResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticConsentResponse5" + } + } + } + }, + "201DomesticPaymentsCreated": { + "description": "Domestic Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticResponse5" + } + } + } + }, + "201DomesticScheduledPaymentConsentsCreated": { + "description": "Domestic Scheduled Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledConsentResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledConsentResponse5" + } + } + } + }, + "201DomesticScheduledPaymentsCreated": { + "description": "Domestic Scheduled Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledResponse5" + } + } + } + }, + "201DomesticStandingOrderConsentsCreated": { + "description": "Domestic Standing Order Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6" + } + } + } + }, + "201DomesticStandingOrdersCreated": { + "description": "Domestic Standing Orders Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderResponse6" + } + } + } + }, + "201FilePaymentConsentsCreated": { + "description": "File Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileConsentResponse4" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileConsentResponse4" + } + } + } + }, + "201FilePaymentsCreated": { + "description": "File Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileResponse3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileResponse3" + } + } + } + }, + "201InternationalPaymentConsentsCreated": { + "description": "International Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalConsentResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalConsentResponse6" + } + } + } + }, + "201InternationalPaymentsCreated": { + "description": "International Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalResponse5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalResponse5" + } + } + } + }, + "201InternationalScheduledPaymentConsentsCreated": { + "description": "International Scheduled Payment Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledConsentResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledConsentResponse6" + } + } + } + }, + "201InternationalScheduledPaymentsCreated": { + "description": "International Scheduled Payments Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledResponse6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledResponse6" + } + } + } + }, + "201InternationalStandingOrderConsentsCreated": { + "description": "International Standing Order Consents Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7" + } + } + } + }, + "201InternationalStandingOrdersCreated": { + "description": "International Standing Orders Created", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderResponse7" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderResponse7" + } + } + } + }, + "400Error": { + "description": "Bad request", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "401Error": { + "description": "Unauthorized", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "403Error": { + "description": "Forbidden", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + }, + "404Error": { + "description": "Not found", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "405Error": { + "description": "Method Not Allowed", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "406Error": { + "description": "Not Acceptable", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "415Error": { + "description": "Unsupported Media Type", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": {} + }, + "429Error": { + "description": "Too Many Requests", + "headers": { + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "Retry-After": { + "description": "Number in seconds to wait", + "schema": { + "type": "integer" + } + } + }, + "content": {} + }, + "500Error": { + "description": "Internal Server Error", + "headers": { + "x-jws-signature": { + "description": "Header containing a detached JWS signature of the body of the payload.\n", + "schema": { + "type": "string" + } + }, + "x-fapi-interaction-id": { + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBErrorResponse1" + } + } + } + } + }, + "parameters": { + "ConsentId": { + "name": "ConsentId", + "in": "path", + "description": "ConsentId", + "required": true, + "schema": { + "type": "string" + } + }, + "DomesticPaymentId": { + "name": "DomesticPaymentId", + "in": "path", + "description": "DomesticPaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + "DomesticScheduledPaymentId": { + "name": "DomesticScheduledPaymentId", + "in": "path", + "description": "DomesticScheduledPaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + "DomesticStandingOrderId": { + "name": "DomesticStandingOrderId", + "in": "path", + "description": "DomesticStandingOrderId", + "required": true, + "schema": { + "type": "string" + } + }, + "FilePaymentId": { + "name": "FilePaymentId", + "in": "path", + "description": "FilePaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + "InternationalPaymentId": { + "name": "InternationalPaymentId", + "in": "path", + "description": "InternationalPaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + "InternationalScheduledPaymentId": { + "name": "InternationalScheduledPaymentId", + "in": "path", + "description": "InternationalScheduledPaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + "InternationalStandingOrderPaymentId": { + "name": "InternationalStandingOrderPaymentId", + "in": "path", + "description": "InternationalStandingOrderPaymentId", + "required": true, + "schema": { + "type": "string" + } + }, + "Authorization": { + "name": "Authorization", + "in": "header", + "description": "An Authorisation Token as per https://tools.ietf.org/html/rfc6750", + "required": true, + "schema": { + "type": "string" + } + }, + "x-customer-user-agent": { + "name": "x-customer-user-agent", + "in": "header", + "description": "Indicates the user-agent that the PSU is using.", + "schema": { + "type": "string" + } + }, + "x-fapi-customer-ip-address": { + "name": "x-fapi-customer-ip-address", + "in": "header", + "description": "The PSU's IP address if the PSU is currently logged in with the TPP.", + "schema": { + "type": "string" + } + }, + "x-fapi-auth-date": { + "name": "x-fapi-auth-date", + "in": "header", + "description": "The time when the PSU last logged in with the TPP. \nAll dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below: \nSun, 10 Sep 2017 19:43:31 UTC", + "schema": { + "pattern": "^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$", + "type": "string" + } + }, + "x-fapi-interaction-id": { + "name": "x-fapi-interaction-id", + "in": "header", + "description": "An RFC4122 UID used as a correlation id.", + "schema": { + "type": "string" + } + }, + "x-idempotency-key": { + "name": "x-idempotency-key", + "in": "header", + "description": "Every request will be processed only once per x-idempotency-key. The\nIdempotency Key will be valid for 24 hours.\n", + "required": true, + "schema": { + "maxLength": 40, + "pattern": "^(?!\\s)(.*)(\\S)$", + "type": "string" + } + }, + "x-jws-signature": { + "name": "x-jws-signature", + "in": "header", + "description": "A detached JWS signature of the body of the payload.", + "required": true, + "schema": { + "type": "string" + } + } + }, + "requestBodies": { + "OBWriteDomesticConsent4Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticConsent4" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticConsent4" + } + } + }, + "required": true + }, + "OBWriteDomestic2Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomestic2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomestic2" + } + } + }, + "required": true + }, + "OBWriteDomesticScheduledConsent4Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledConsent4" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduledConsent4" + } + } + }, + "required": true + }, + "OBWriteDomesticScheduled2Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduled2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticScheduled2" + } + } + }, + "required": true + }, + "OBWriteDomesticStandingOrderConsent5Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsent5" } }, - "Links": { - "$ref": "#/components/schemas/Links" + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrderConsent5" + } + } + }, + "required": true + }, + "OBWriteDomesticStandingOrder3Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrder3" + } }, - "Meta": { - "$ref": "#/components/schemas/Meta" + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteDomesticStandingOrder3" + } } - } + }, + "required": true }, - "OBWritePaymentDetailsResponse1": { - "type": "object", - "additionalProperties": false, - "required": [ - "Data" - ], - "properties": { - "Data": { - "type": "object", - "additionalProperties": false, - "properties": { - "PaymentStatus": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "description": "Payment status details.", - "required": [ - "PaymentTransactionId", - "Status", - "StatusUpdateDateTime" - ], - "properties": { - "PaymentTransactionId": { - "description": "Unique identifier for the transaction within an servicing institution. This identifier is both unique and immutable.", - "type": "string", - "minLength": 1, - "maxLength": 210 - }, - "Status": { - "description": "Status of a transfe, as assigned by the transaction administrator.", - "type": "string", - "enum": [ - "Accepted", - "AcceptedCancellationRequest", - "AcceptedCreditSettlementCompleted", - "AcceptedCustomerProfile", - "AcceptedFundsChecked", - "AcceptedSettlementCompleted", - "AcceptedSettlementInProcess", - "AcceptedTechnicalValidation", - "AcceptedWithChange", - "AcceptedWithoutPosting", - "Cancelled", - "NoCancellationProcess", - "PartiallyAcceptedCancellationRequest", - "PartiallyAcceptedTechnicalCorrect", - "PaymentCancelled", - "Pending", - "PendingCancellationRequest", - "Received", - "Rejected", - "RejectedCancellationRequest" - ] - }, - "StatusUpdateDateTime": { - "description": "Date and time at which the status was assigned to the transfer.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", - "type": "string", - "format": "date-time" - }, - "StatusDetail": { - "type": "object", - "additionalProperties": false, - "required": [ - "Status" - ], - "description": "Payment status details as per underlying Payment Rail.", - "properties": { - "LocalInstrument": { - "$ref": "#/components/schemas/OBExternalLocalInstrument1Code" - }, - "Status": { - "description": "Status of a transfer, as assigned by the transaction administrator.", - "type": "string", - "minLength": 1, - "maxLength": 128 - }, - "StatusReason": { - "description": "Reason Code provided for the status of a transfer.", - "type": "string", - "enum": [ - "Cancelled", - "PendingFailingSettlement", - "PendingSettlement", - "Proprietary", - "ProprietaryRejection", - "Suspended", - "Unmatched" - ] - }, - "StatusReasonDescription": { - "description": "Reason provided for the status of a transfer.", - "type": "string", - "minLength": 1, - "maxLength": 256 - } - } - } - } - } - } + "OBWriteFileConsent3Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileConsent3" } }, - "Links": { - "$ref": "#/components/schemas/Links" + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFileConsent3" + } + } + }, + "required": true + }, + "FileParam": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/File" + } }, - "Meta": { - "$ref": "#/components/schemas/Meta" + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/File" + } } - } + }, + "required": true }, - "PostCode": { - "description": "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.", - "type": "string", - "minLength": 1, - "maxLength": 16 + "OBWriteFile2Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteFile2" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteFile2" + } + } + }, + "required": true }, - "SecondaryIdentification": { - "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", - "type": "string", - "minLength": 1, - "maxLength": 34 + "OBWriteInternationalConsent5Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalConsent5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalConsent5" + } + } + }, + "required": true }, - "StreetName": { - "description": "Name of a street or thoroughfare.", - "type": "string", - "minLength": 1, - "maxLength": 70 + "OBWriteInternational3Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternational3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternational3" + } + } + }, + "required": true }, - "SubDepartment": { - "description": "Identification of a sub-division of a large organisation or building.", - "type": "string", - "minLength": 1, - "maxLength": 70 + "OBWriteInternationalScheduledConsent5Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledConsent5" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduledConsent5" + } + } + }, + "required": true }, - "TownName": { - "description": "Name of a built-up area, with defined boundaries, and a local government.", - "type": "string", - "minLength": 1, - "maxLength": 35 + "OBWriteInternationalScheduled3Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduled3" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalScheduled3" + } + } + }, + "required": true + }, + "OBWriteInternationalStandingOrderConsent6Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsent6" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrderConsent6" + } + } + }, + "required": true + }, + "OBWriteInternationalStandingOrder4Param": { + "description": "Default", + "content": { + "application/json; charset=utf-8": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrder4" + } + }, + "application/jose+jwe": { + "schema": { + "$ref": "#/components/schemas/OBWriteInternationalStandingOrder4" + } + } + }, + "required": true } }, "securitySchemes": { diff --git a/dist/openapi/payment-initiation-openapi.yaml b/dist/openapi/payment-initiation-openapi.yaml index 24370e3b..594b8072 100644 --- a/dist/openapi/payment-initiation-openapi.yaml +++ b/dist/openapi/payment-initiation-openapi.yaml @@ -1,2929 +1,7628 @@ openapi: 3.0.1 info: title: Payment Initiation API - description: OpenAPI for Payment Initiation API Specification - termsOfService: 'https://www.openbanking.org.uk/terms' + description: Swagger for Payment Initiation API Specification + termsOfService: https://www.openbanking.org.uk/terms contact: name: Service Desk email: ServiceDesk@openbanking.org.uk license: name: open-licence - url: 'https://www.openbanking.org.uk/open-licence' - version: v3.1.5 + url: https://www.openbanking.org.uk/open-licence + version: v3.1.6 +servers: +- url: /open-banking/v3.1/pisp paths: /domestic-payment-consents: post: tags: - - Domestic Payments + - Domestic Payments summary: Create Domestic Payment Consents operationId: CreateDomesticPaymentConsents parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticConsent4' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticConsent4' + required: true responses: - '201': - $ref: '#/components/responses/201DomesticPaymentConsentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: Domestic Payment Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticConsentResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticConsentResponse5' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteDomesticConsent4Param' - '/domestic-payment-consents/{ConsentId}': + - TPPOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteDomesticConsent4Param + /domestic-payment-consents/{ConsentId}: get: tags: - - Domestic Payments + - Domestic Payments summary: Get Domestic Payment Consents operationId: GetDomesticPaymentConsentsConsentId parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200DomesticPaymentConsentsConsentIdRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Domestic Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticConsentResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticConsentResponse5' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - '/domestic-payment-consents/{ConsentId}/funds-confirmation': + - TPPOAuth2Security: + - payments + /domestic-payment-consents/{ConsentId}/funds-confirmation: get: tags: - - Domestic Payments + - Domestic Payments summary: Get Domestic Payment Consents Funds Confirmation operationId: GetDomesticPaymentConsentsConsentIdFundsConfirmation parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200DomesticPaymentConsentsConsentIdFundsConfirmationRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Domestic Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - payments + - PSUOAuth2Security: + - payments /domestic-payments: post: tags: - - Domestic Payments + - Domestic Payments summary: Create Domestic Payments operationId: CreateDomesticPayments parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomestic2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomestic2' + required: true responses: - '201': - $ref: '#/components/responses/201DomesticPaymentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: Domestic Payments Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticResponse5' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteDomestic2Param' - '/domestic-payments/{DomesticPaymentId}': + - PSUOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteDomestic2Param + /domestic-payments/{DomesticPaymentId}: get: tags: - - Domestic Payments + - Domestic Payments summary: Get Domestic Payments operationId: GetDomesticPaymentsDomesticPaymentId parameters: - - $ref: '#/components/parameters/DomesticPaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: DomesticPaymentId + in: path + description: DomesticPaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200DomesticPaymentsDomesticPaymentIdRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Domestic Payments Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticResponse5' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - '/domestic-payments/{DomesticPaymentId}/payment-details': + - TPPOAuth2Security: + - payments + /domestic-payments/{DomesticPaymentId}/payment-details: get: tags: - - Payment Details + - Payment Details summary: Get Payment Details operationId: GetDomesticPaymentsDomesticPaymentIdPaymentDetails parameters: - - $ref: '#/components/parameters/DomesticPaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: DomesticPaymentId + in: path + description: DomesticPaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200DomesticPaymentsDomesticPaymentIdPaymentDetailsRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments + - TPPOAuth2Security: + - payments /domestic-scheduled-payment-consents: post: tags: - - Domestic Scheduled Payments + - Domestic Scheduled Payments summary: Create Domestic Scheduled Payment Consents operationId: CreateDomesticScheduledPaymentConsents parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledConsent4' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledConsent4' + required: true responses: - '201': - $ref: '#/components/responses/201DomesticScheduledPaymentConsentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: Domestic Scheduled Payment Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledConsentResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledConsentResponse5' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteDomesticScheduledConsent4Param' - '/domestic-scheduled-payment-consents/{ConsentId}': + - TPPOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteDomesticScheduledConsent4Param + /domestic-scheduled-payment-consents/{ConsentId}: get: tags: - - Domestic Scheduled Payments + - Domestic Scheduled Payments summary: Get Domestic Scheduled Payment Consents operationId: GetDomesticScheduledPaymentConsentsConsentId parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200DomesticScheduledPaymentConsentsConsentIdRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Domestic Scheduled Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledConsentResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledConsentResponse5' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments + - TPPOAuth2Security: + - payments /domestic-scheduled-payments: post: tags: - - Domestic Scheduled Payments + - Domestic Scheduled Payments summary: Create Domestic Scheduled Payments operationId: CreateDomesticScheduledPayments parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduled2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduled2' + required: true responses: - '201': - $ref: '#/components/responses/201DomesticScheduledPaymentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: Domestic Scheduled Payments Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledResponse5' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteDomesticScheduled2Param' - '/domestic-scheduled-payments/{DomesticScheduledPaymentId}': + - PSUOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteDomesticScheduled2Param + /domestic-scheduled-payments/{DomesticScheduledPaymentId}: get: tags: - - Domestic Scheduled Payments + - Domestic Scheduled Payments summary: Get Domestic Scheduled Payments operationId: GetDomesticScheduledPaymentsDomesticScheduledPaymentId parameters: - - $ref: '#/components/parameters/DomesticScheduledPaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: DomesticScheduledPaymentId + in: path + description: DomesticScheduledPaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200DomesticScheduledPaymentsDomesticScheduledPaymentIdRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Domestic Scheduled Payments Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledResponse5' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - '/domestic-scheduled-payments/{DomesticScheduledPaymentId}/payment-details': + - TPPOAuth2Security: + - payments + /domestic-scheduled-payments/{DomesticScheduledPaymentId}/payment-details: get: tags: - - Payment Details + - Payment Details summary: Get Payment Details operationId: GetDomesticScheduledPaymentsDomesticScheduledPaymentIdPaymentDetails parameters: - - $ref: '#/components/parameters/DomesticScheduledPaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: DomesticScheduledPaymentId + in: path + description: DomesticScheduledPaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200DomesticScheduledPaymentsDomesticScheduledPaymentIdPaymentDetailsRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments + - TPPOAuth2Security: + - payments /domestic-standing-order-consents: post: tags: - - Domestic Standing Orders + - Domestic Standing Orders summary: Create Domestic Standing Order Consents operationId: CreateDomesticStandingOrderConsents parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsent5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsent5' + required: true responses: - '201': - $ref: '#/components/responses/201DomesticStandingOrderConsentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: Domestic Standing Order Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteDomesticStandingOrderConsent5Param' - '/domestic-standing-order-consents/{ConsentId}': + - TPPOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteDomesticStandingOrderConsent5Param + /domestic-standing-order-consents/{ConsentId}: get: tags: - - Domestic Standing Orders + - Domestic Standing Orders summary: Get Domestic Standing Order Consents operationId: GetDomesticStandingOrderConsentsConsentId parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200DomesticStandingOrderConsentsConsentIdRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' - security: - - TPPOAuth2Security: - - payments - /domestic-standing-orders: + 200: + description: Domestic Standing Order Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + security: + - TPPOAuth2Security: + - payments + /domestic-standing-orders: post: tags: - - Domestic Standing Orders + - Domestic Standing Orders summary: Create Domestic Standing Orders operationId: CreateDomesticStandingOrders parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrder3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrder3' + required: true responses: - '201': - $ref: '#/components/responses/201DomesticStandingOrdersCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: Domestic Standing Orders Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderResponse6' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteDomesticStandingOrder3Param' - '/domestic-standing-orders/{DomesticStandingOrderId}': + - PSUOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteDomesticStandingOrder3Param + /domestic-standing-orders/{DomesticStandingOrderId}: get: tags: - - Domestic Standing Orders + - Domestic Standing Orders summary: Get Domestic Standing Orders operationId: GetDomesticStandingOrdersDomesticStandingOrderId parameters: - - $ref: '#/components/parameters/DomesticStandingOrderId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: DomesticStandingOrderId + in: path + description: DomesticStandingOrderId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200DomesticStandingOrdersDomesticStandingOrderIdRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Domestic Standing Orders Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderResponse6' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - '/domestic-standing-orders/{DomesticStandingOrderId}/payment-details': + - TPPOAuth2Security: + - payments + /domestic-standing-orders/{DomesticStandingOrderId}/payment-details: get: tags: - - Payment Details + - Payment Details summary: Get Payment Details operationId: GetDomesticStandingOrdersDomesticStandingOrderIdPaymentDetails parameters: - - $ref: '#/components/parameters/DomesticStandingOrderId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: DomesticStandingOrderId + in: path + description: DomesticStandingOrderId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200DomesticStandingOrdersDomesticStandingOrderIdPaymentDetailsRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments + - TPPOAuth2Security: + - payments /file-payment-consents: post: tags: - - File Payments + - File Payments summary: Create File Payment Consents operationId: CreateFilePaymentConsents parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFileConsent3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFileConsent3' + required: true responses: - '201': - $ref: '#/components/responses/201FilePaymentConsentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: File Payment Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFileConsentResponse4' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFileConsentResponse4' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteFileConsent3Param' - '/file-payment-consents/{ConsentId}': + - TPPOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteFileConsent3Param + /file-payment-consents/{ConsentId}: get: tags: - - File Payments + - File Payments summary: Get File Payment Consents operationId: GetFilePaymentConsentsConsentId parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200FilePaymentConsentsConsentIdRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: File Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFileConsentResponse4' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFileConsentResponse4' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - '/file-payment-consents/{ConsentId}/file': - post: + - TPPOAuth2Security: + - payments + /file-payment-consents/{ConsentId}/file: + get: tags: - - File Payments - summary: Create File Payment Consents - operationId: CreateFilePaymentConsentsConsentIdFile + - File Payments + summary: Get File Payment Consents + operationId: GetFilePaymentConsentsConsentIdFile parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200FilePaymentConsentsConsentIdFileCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: File Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/File' + application/jose+jwe: + schema: + $ref: '#/components/schemas/File' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/FileParam' - get: + - TPPOAuth2Security: + - payments + post: tags: - - File Payments - summary: Get File Payment Consents - operationId: GetFilePaymentConsentsConsentIdFile + - File Payments + summary: Create File Payment Consents + operationId: CreateFilePaymentConsentsConsentIdFile parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/File' + application/jose+jwe: + schema: + $ref: '#/components/schemas/File' + required: true responses: - '200': - $ref: '#/components/responses/200FilePaymentConsentsConsentIdFileRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: File Payment Consents Created + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments + - TPPOAuth2Security: + - payments + x-codegen-request-body-name: FileParam /file-payments: post: tags: - - File Payments + - File Payments summary: Create File Payments operationId: CreateFilePayments parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFile2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFile2' + required: true responses: - '201': - $ref: '#/components/responses/201FilePaymentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: File Payments Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFileResponse3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFileResponse3' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteFile2Param' - '/file-payments/{FilePaymentId}': + - PSUOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteFile2Param + /file-payments/{FilePaymentId}: get: tags: - - File Payments + - File Payments summary: Get File Payments operationId: GetFilePaymentsFilePaymentId parameters: - - $ref: '#/components/parameters/FilePaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: FilePaymentId + in: path + description: FilePaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200FilePaymentsFilePaymentIdRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: File Payments Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFileResponse3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFileResponse3' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - '/file-payments/{FilePaymentId}/payment-details': + - TPPOAuth2Security: + - payments + /file-payments/{FilePaymentId}/payment-details: get: tags: - - Payment Details + - Payment Details summary: Get Payment Details operationId: GetFilePaymentsFilePaymentIdPaymentDetails parameters: - - $ref: '#/components/parameters/FilePaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: FilePaymentId + in: path + description: FilePaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200FilePaymentsFilePaymentIdPaymentDetailsRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - '/file-payments/{FilePaymentId}/report-file': + - TPPOAuth2Security: + - payments + /file-payments/{FilePaymentId}/report-file: get: tags: - - File Payments + - File Payments summary: Get File Payments operationId: GetFilePaymentsFilePaymentIdReportFile parameters: - - $ref: '#/components/parameters/FilePaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: FilePaymentId + in: path + description: FilePaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200FilePaymentsFilePaymentIdReportFileRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: File Payments Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/File' + application/jose+jwe: + schema: + $ref: '#/components/schemas/File' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments + - TPPOAuth2Security: + - payments /international-payment-consents: post: tags: - - International Payments + - International Payments summary: Create International Payment Consents operationId: CreateInternationalPaymentConsents parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalConsent5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalConsent5' + required: true responses: - '201': - $ref: '#/components/responses/201InternationalPaymentConsentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: International Payment Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalConsentResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalConsentResponse6' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteInternationalConsent5Param' - '/international-payment-consents/{ConsentId}': + - TPPOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteInternationalConsent5Param + /international-payment-consents/{ConsentId}: get: tags: - - International Payments + - International Payments summary: Get International Payment Consents operationId: GetInternationalPaymentConsentsConsentId parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: '#/components/responses/200InternationalPaymentConsentsConsentIdRead' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: International Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalConsentResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalConsentResponse6' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - '/international-payment-consents/{ConsentId}/funds-confirmation': + - TPPOAuth2Security: + - payments + /international-payment-consents/{ConsentId}/funds-confirmation: get: tags: - - International Payments + - International Payments summary: Get International Payment Consents Funds Confirmation operationId: GetInternationalPaymentConsentsConsentIdFundsConfirmation parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200InternationalPaymentConsentsConsentIdFundsConfirmationRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: International Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - payments + - PSUOAuth2Security: + - payments /international-payments: post: tags: - - International Payments + - International Payments summary: Create International Payments operationId: CreateInternationalPayments parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternational3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternational3' + required: true responses: - '201': - $ref: '#/components/responses/201InternationalPaymentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: International Payments Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalResponse5' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteInternational3Param' - '/international-payments/{InternationalPaymentId}': + - PSUOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteInternational3Param + /international-payments/{InternationalPaymentId}: get: tags: - - International Payments + - International Payments summary: Get International Payments operationId: GetInternationalPaymentsInternationalPaymentId parameters: - - $ref: '#/components/parameters/InternationalPaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: InternationalPaymentId + in: path + description: InternationalPaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200InternationalPaymentsInternationalPaymentIdRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: International Payments Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalResponse5' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - '/international-payments/{InternationalPaymentId}/payment-details': + - TPPOAuth2Security: + - payments + /international-payments/{InternationalPaymentId}/payment-details: get: tags: - - Payment Details + - Payment Details summary: Get Payment Details operationId: GetInternationalPaymentsInternationalPaymentIdPaymentDetails parameters: - - $ref: '#/components/parameters/InternationalPaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: InternationalPaymentId + in: path + description: InternationalPaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200InternationalPaymentsInternationalPaymentIdPaymentDetailsRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments + - TPPOAuth2Security: + - payments /international-scheduled-payment-consents: post: tags: - - International Scheduled Payments + - International Scheduled Payments summary: Create International Scheduled Payment Consents operationId: CreateInternationalScheduledPaymentConsents parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledConsent5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledConsent5' + required: true responses: - '201': - $ref: >- - #/components/responses/201InternationalScheduledPaymentConsentsCreated - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: International Scheduled Payment Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledConsentResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledConsentResponse6' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteInternationalScheduledConsent5Param' - '/international-scheduled-payment-consents/{ConsentId}': + - TPPOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteInternationalScheduledConsent5Param + /international-scheduled-payment-consents/{ConsentId}: get: tags: - - International Scheduled Payments + - International Scheduled Payments summary: Get International Scheduled Payment Consents operationId: GetInternationalScheduledPaymentConsentsConsentId parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200InternationalScheduledPaymentConsentsConsentIdRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: International Scheduled Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledConsentResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledConsentResponse6' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - '/international-scheduled-payment-consents/{ConsentId}/funds-confirmation': + - TPPOAuth2Security: + - payments + /international-scheduled-payment-consents/{ConsentId}/funds-confirmation: get: tags: - - International Scheduled Payments + - International Scheduled Payments summary: Get International Scheduled Payment Consents Funds Confirmation operationId: GetInternationalScheduledPaymentConsentsConsentIdFundsConfirmation parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200InternationalScheduledPaymentConsentsConsentIdFundsConfirmationRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: International Scheduled Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - payments + - PSUOAuth2Security: + - payments /international-scheduled-payments: post: tags: - - International Scheduled Payments + - International Scheduled Payments summary: Create International Scheduled Payments operationId: CreateInternationalScheduledPayments parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduled3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduled3' + required: true responses: - '201': - $ref: '#/components/responses/201InternationalScheduledPaymentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: International Scheduled Payments Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledResponse6' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteInternationalScheduled3Param' - '/international-scheduled-payments/{InternationalScheduledPaymentId}': + - PSUOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteInternationalScheduled3Param + /international-scheduled-payments/{InternationalScheduledPaymentId}: get: tags: - - International Scheduled Payments + - International Scheduled Payments summary: Get International Scheduled Payments operationId: GetInternationalScheduledPaymentsInternationalScheduledPaymentId parameters: - - $ref: '#/components/parameters/InternationalScheduledPaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: InternationalScheduledPaymentId + in: path + description: InternationalScheduledPaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200InternationalScheduledPaymentsInternationalScheduledPaymentIdRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: International Scheduled Payments Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledResponse6' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - '/international-scheduled-payments/{InternationalScheduledPaymentId}/payment-details': + - TPPOAuth2Security: + - payments + /international-scheduled-payments/{InternationalScheduledPaymentId}/payment-details: get: tags: - - Payment Details + - Payment Details summary: Get Payment Details - operationId: >- - GetInternationalScheduledPaymentsInternationalScheduledPaymentIdPaymentDetails + operationId: GetInternationalScheduledPaymentsInternationalScheduledPaymentIdPaymentDetails parameters: - - $ref: '#/components/parameters/InternationalScheduledPaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: InternationalScheduledPaymentId + in: path + description: InternationalScheduledPaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200InternationalScheduledPaymentsInternationalScheduledPaymentIdPaymentDetailsRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments + - TPPOAuth2Security: + - payments /international-standing-order-consents: post: tags: - - International Standing Orders + - International Standing Orders summary: Create International Standing Order Consents operationId: CreateInternationalStandingOrderConsents parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' - responses: - '201': - $ref: '#/components/responses/201InternationalStandingOrderConsentsCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' - security: - - TPPOAuth2Security: - - payments - requestBody: - $ref: >- - #/components/requestBodies/OBWriteInternationalStandingOrderConsent6Param - '/international-standing-order-consents/{ConsentId}': - get: - tags: - - International Standing Orders - summary: Get International Standing Order Consents - operationId: GetInternationalStandingOrderConsentsConsentId - parameters: - - $ref: '#/components/parameters/ConsentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsent6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsent6' + required: true + responses: + 201: + description: International Standing Order Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + security: + - TPPOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteInternationalStandingOrderConsent6Param + /international-standing-order-consents/{ConsentId}: + get: + tags: + - International Standing Orders + summary: Get International Standing Order Consents + operationId: GetInternationalStandingOrderConsentsConsentId + parameters: + - name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200InternationalStandingOrderConsentsConsentIdRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: International Standing Order Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments + - TPPOAuth2Security: + - payments /international-standing-orders: post: tags: - - International Standing Orders + - International Standing Orders summary: Create International Standing Orders operationId: CreateInternationalStandingOrders parameters: - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-idempotency-key' - - $ref: '#/components/parameters/x-jws-signature' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + - name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + requestBody: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrder4' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrder4' + required: true responses: - '201': - $ref: '#/components/responses/201InternationalStandingOrdersCreated' - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '415': - $ref: '#/components/responses/415Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 201: + description: International Standing Orders Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderResponse7' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderResponse7' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - PSUOAuth2Security: - - payments - requestBody: - $ref: '#/components/requestBodies/OBWriteInternationalStandingOrder4Param' - '/international-standing-orders/{InternationalStandingOrderPaymentId}': + - PSUOAuth2Security: + - payments + x-codegen-request-body-name: OBWriteInternationalStandingOrder4Param + /international-standing-orders/{InternationalStandingOrderPaymentId}: get: tags: - - International Standing Orders + - International Standing Orders summary: Get International Standing Orders operationId: GetInternationalStandingOrdersInternationalStandingOrderPaymentId parameters: - - $ref: '#/components/parameters/InternationalStandingOrderPaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: InternationalStandingOrderPaymentId + in: path + description: InternationalStandingOrderPaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200InternationalStandingOrdersInternationalStandingOrderPaymentIdRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: International Standing Orders Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderResponse7' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderResponse7' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments - '/international-standing-orders/{InternationalStandingOrderPaymentId}/payment-details': + - TPPOAuth2Security: + - payments + /international-standing-orders/{InternationalStandingOrderPaymentId}/payment-details: get: tags: - - Payment Details + - Payment Details summary: Get Payment Details - operationId: >- - GetInternationalStandingOrdersInternationalStandingOrderPaymentIdPaymentDetails + operationId: GetInternationalStandingOrdersInternationalStandingOrderPaymentIdPaymentDetails parameters: - - $ref: '#/components/parameters/InternationalStandingOrderPaymentId' - - $ref: '#/components/parameters/x-fapi-auth-date' - - $ref: '#/components/parameters/x-fapi-customer-ip-address' - - $ref: '#/components/parameters/x-fapi-interaction-id' - - $ref: '#/components/parameters/Authorization' - - $ref: '#/components/parameters/x-customer-user-agent' + - name: InternationalStandingOrderPaymentId + in: path + description: InternationalStandingOrderPaymentId + required: true + schema: + type: string + - name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example\ + \ is below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + - name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + - name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + - name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + - name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string responses: - '200': - $ref: >- - #/components/responses/200InternationalStandingOrdersInternationalStandingOrderPaymentIdPaymentDetailsRead - '400': - $ref: '#/components/responses/400Error' - '401': - $ref: '#/components/responses/401Error' - '403': - $ref: '#/components/responses/403Error' - '404': - $ref: '#/components/responses/404Error' - '405': - $ref: '#/components/responses/405Error' - '406': - $ref: '#/components/responses/406Error' - '429': - $ref: '#/components/responses/429Error' - '500': - $ref: '#/components/responses/500Error' + 200: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 400: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' security: - - TPPOAuth2Security: - - payments + - TPPOAuth2Security: + - payments components: - parameters: - ConsentId: - name: ConsentId - in: path - description: ConsentId - required: true - schema: - type: string - DomesticPaymentId: - name: DomesticPaymentId - in: path - description: DomesticPaymentId - required: true - schema: - type: string - DomesticScheduledPaymentId: - name: DomesticScheduledPaymentId - in: path - description: DomesticScheduledPaymentId - required: true - schema: - type: string - DomesticStandingOrderId: - name: DomesticStandingOrderId - in: path - description: DomesticStandingOrderId - required: true - schema: - type: string - FilePaymentId: - name: FilePaymentId - in: path - description: FilePaymentId - required: true - schema: - type: string - InternationalPaymentId: - name: InternationalPaymentId - in: path - description: InternationalPaymentId - required: true - schema: - type: string - InternationalScheduledPaymentId: - name: InternationalScheduledPaymentId - in: path - description: InternationalScheduledPaymentId - required: true - schema: - type: string - InternationalStandingOrderPaymentId: - name: InternationalStandingOrderPaymentId - in: path - description: InternationalStandingOrderPaymentId - required: true - schema: - type: string - Authorization: - in: header - name: Authorization - required: true - description: 'An Authorisation Token as per https://tools.ietf.org/html/rfc6750' - schema: - type: string - x-customer-user-agent: - in: header - name: x-customer-user-agent - description: Indicates the user-agent that the PSU is using. - required: false - schema: - type: string - x-fapi-customer-ip-address: - in: header - name: x-fapi-customer-ip-address - required: false - description: The PSU's IP address if the PSU is currently logged in with the TPP. - schema: - type: string - x-fapi-auth-date: - in: header - name: x-fapi-auth-date - required: false - description: >- - The time when the PSU last logged in with the TPP. - - All dates in the HTTP headers are represented as RFC 7231 Full Dates. An - example is below: - - Sun, 10 Sep 2017 19:43:31 UTC - schema: - type: string - pattern: >- - ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} - (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} - \d{2}:\d{2}:\d{2} (GMT|UTC)$ - x-fapi-interaction-id: - in: header - name: x-fapi-interaction-id - required: false - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-idempotency-key: - name: x-idempotency-key - in: header - description: | - Every request will be processed only once per x-idempotency-key. The - Idempotency Key will be valid for 24 hours. - required: true - schema: - type: string - pattern: ^(?!\s)(.*)(\S)$ - maxLength: 40 - x-jws-signature: - in: header - name: x-jws-signature - required: true - description: A detached JWS signature of the body of the payload. - schema: - type: string - requestBodies: - OBWriteDomesticConsent4Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticConsent4' - required: true - OBWriteDomestic2Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomestic2' - required: true - OBWriteDomesticScheduledConsent4Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticScheduledConsent4' - required: true - OBWriteDomesticScheduled2Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticScheduled2' - required: true - OBWriteDomesticStandingOrderConsent5Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsent5' - required: true - OBWriteDomesticStandingOrder3Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticStandingOrder3' - required: true - OBWriteFileConsent3Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteFileConsent3' - required: true - FileParam: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/File' - required: true - OBWriteFile2Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteFile2' - required: true - OBWriteInternationalConsent5Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalConsent5' - required: true - OBWriteInternational3Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternational3' - required: true - OBWriteInternationalScheduledConsent5Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalScheduledConsent5' - required: true - OBWriteInternationalScheduled3Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalScheduled3' - required: true - OBWriteInternationalStandingOrderConsent6Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsent6' - required: true - OBWriteInternationalStandingOrder4Param: - description: Default - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalStandingOrder4' - required: true - responses: - 201DomesticPaymentConsentsCreated: - description: Domestic Payment Consents Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticConsentResponse5' - 200DomesticPaymentConsentsConsentIdRead: - description: Domestic Payment Consents Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticConsentResponse5' - 200DomesticPaymentConsentsConsentIdFundsConfirmationRead: - description: Domestic Payment Consents Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: + schemas: + ActiveOrHistoricCurrencyCode: + pattern: ^[A-Z]{3,3}$ + type: string + description: A code allocated to a currency by a Maintenance Agency under an + international identification scheme, as described in the latest edition of + the international standard ISO 4217 "Codes for the representation of currencies + and funds". + BuildingNumber: + maxLength: 16 + minLength: 1 + type: string + description: Number that identifies the position of a building on a street. + CountryCode: + pattern: ^[A-Z]{2,2}$ + type: string + description: Nation with its own government. + CountrySubDivision: + maxLength: 35 + minLength: 1 + type: string + description: Identifies a subdivision of a country such as state, region, county. + Department: + maxLength: 70 + minLength: 1 + type: string + description: Identification of a division of a large organisation or building. + File: + type: object + ISODateTime: + type: string + description: "All dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" + format: date-time + Identification_0: + maxLength: 256 + minLength: 1 + type: string + description: Identification assigned by an institution to identify an account. + This identification is known by the account owner. + Identification_1: + maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of a financial institution + or a branch of a financial institution. + Links: + required: + - Self + type: object + properties: + Self: + type: string + format: uri + First: + type: string + format: uri + Prev: + type: string + format: uri + Next: + type: string + format: uri + Last: + type: string + format: uri + description: Links relevant to the payload + Meta: + title: MetaData + type: object + properties: + TotalPages: + type: integer + format: int32 + FirstAvailableDateTime: + $ref: '#/components/schemas/ISODateTime' + LastAvailableDateTime: + $ref: '#/components/schemas/ISODateTime' + description: Meta Data relevant to the payload + Name: + maxLength: 140 + minLength: 1 + type: string + description: Name by which an agent is known and which is usually used to identify + that agent. + OBActiveCurrencyAndAmount_SimpleType: + pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$ + type: string + description: A number of monetary units specified in an active currency where + the unit of currency is explicit and compliant with ISO 4217. + OBActiveOrHistoricCurrencyAndAmount: + required: + - Amount + - Currency + type: object + properties: + Amount: + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' + Currency: + $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: Amount of money associated with the charge type. + OBAddressTypeCode: + type: string + description: Identifies the nature of the postal address. + enum: + - Business + - Correspondence + - DeliveryTo + - MailTo + - POBox + - Postal + - Residential + - Statement + OBChargeBearerType1Code: + type: string + description: Specifies which party/parties will bear the charges associated + with the processing of the payment transaction. + enum: + - BorneByCreditor + - BorneByDebtor + - FollowingServiceLevel + - Shared + OBError1: + required: + - ErrorCode + - Message + type: object + properties: + ErrorCode: + type: string + description: Low level textual error code, e.g., UK.OBIE.Field.Missing + x-namespaced-enum: + - UK.OBIE.Field.Expected + - UK.OBIE.Field.Invalid + - UK.OBIE.Field.InvalidDate + - UK.OBIE.Field.Missing + - UK.OBIE.Field.Unexpected + - UK.OBIE.Header.Invalid + - UK.OBIE.Header.Missing + - UK.OBIE.Reauthenticate + - UK.OBIE.Resource.ConsentMismatch + - UK.OBIE.Resource.InvalidConsentStatus + - UK.OBIE.Resource.InvalidFormat + - UK.OBIE.Resource.NotFound + - UK.OBIE.Rules.AfterCutOffDateTime + - UK.OBIE.Rules.DuplicateReference + - UK.OBIE.Signature.Invalid + - UK.OBIE.Signature.InvalidClaim + - UK.OBIE.Signature.Malformed + - UK.OBIE.Signature.Missing + - UK.OBIE.Signature.MissingClaim + - UK.OBIE.Signature.Unexpected + - UK.OBIE.UnexpectedError + - UK.OBIE.Unsupported.AccountIdentifier + - UK.OBIE.Unsupported.AccountSecondaryIdentifier + - UK.OBIE.Unsupported.Currency + - UK.OBIE.Unsupported.Frequency + - UK.OBIE.Unsupported.LocalInstrument + - UK.OBIE.Unsupported.Scheme + Message: + maxLength: 500 + minLength: 1 + type: string + description: |- + A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future' + OBIE doesn't standardise this field + Path: + maxLength: 500 + minLength: 1 + type: string + description: Recommended but optional reference to the JSON Path of the + field with error, e.g., Data.Initiation.InstructedAmount.Currency + Url: + type: string + description: URL to help remediate the problem, or provide more information, + or to API Reference, or help etc + OBErrorResponse1: + required: + - Code + - Errors + - Message + type: object + properties: + Code: + maxLength: 40 + minLength: 1 + type: string + description: High level textual error code, to help categorize the errors. + Id: + maxLength: 40 + minLength: 1 + type: string + description: A unique reference for the error instance, for audit purposes, + in case of unknown/unclassified errors. + Message: + maxLength: 500 + minLength: 1 + type: string + description: Brief Error message, e.g., 'There is something wrong with the + request parameters provided' + Errors: + minItems: 1 + type: array + items: + $ref: '#/components/schemas/OBError1' + description: An array of detail error codes, and messages, and URLs to documentation + to help remediation. + OBExternalAccountIdentification4Code: + type: string + description: Name of the identification scheme, in a coded form as published + in an external list. + x-namespaced-enum: + - UK.OBIE.BBAN + - UK.OBIE.IBAN + - UK.OBIE.PAN + - UK.OBIE.Paym + - UK.OBIE.SortCodeAccountNumber + OBExternalFinancialInstitutionIdentification4Code: + type: string + description: Name of the identification scheme, in a coded form as published + in an external list. + x-namespaced-enum: + - UK.OBIE.BICFI + OBExternalLocalInstrument1Code: + type: string + description: |- + User community specific instrument. + Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level. + x-namespaced-enum: + - UK.OBIE.BACS + - UK.OBIE.BalanceTransfer + - UK.OBIE.CHAPS + - UK.OBIE.Euro1 + - UK.OBIE.FPS + - UK.OBIE.Link + - UK.OBIE.MoneyTransfer + - UK.OBIE.Paym + - UK.OBIE.SEPACreditTransfer + - UK.OBIE.SEPAInstantCreditTransfer + - UK.OBIE.SWIFT + - UK.OBIE.Target2 + OBExternalPaymentChargeType1Code: + type: string + description: Charge type, in a coded form. + x-namespaced-enum: + - UK.OBIE.CHAPSOut + OBPostalAddress6: + type: object + properties: + AddressType: + $ref: '#/components/schemas/OBAddressTypeCode' + Department: + $ref: '#/components/schemas/Department' + SubDepartment: + $ref: '#/components/schemas/SubDepartment' + StreetName: + $ref: '#/components/schemas/StreetName' + BuildingNumber: + $ref: '#/components/schemas/BuildingNumber' + PostCode: + $ref: '#/components/schemas/PostCode' + TownName: + $ref: '#/components/schemas/TownName' + CountrySubDivision: + $ref: '#/components/schemas/CountrySubDivision' + Country: + $ref: '#/components/schemas/CountryCode' + AddressLine: + maxItems: 7 + minItems: 0 + type: array + items: + maxLength: 70 + minLength: 1 type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' - 201DomesticPaymentsCreated: - description: Domestic Payments Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticResponse5' - 200DomesticPaymentsDomesticPaymentIdRead: - description: Domestic Payments Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticResponse5' - 200DomesticPaymentsDomesticPaymentIdPaymentDetailsRead: - description: Payment Details Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' - 201DomesticScheduledPaymentConsentsCreated: - description: Domestic Scheduled Payment Consents Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticScheduledConsentResponse5' - 200DomesticScheduledPaymentConsentsConsentIdRead: - description: Domestic Scheduled Payment Consents Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticScheduledConsentResponse5' - 201DomesticScheduledPaymentsCreated: - description: Domestic Scheduled Payments Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticScheduledResponse5' - 200DomesticScheduledPaymentsDomesticScheduledPaymentIdRead: - description: Domestic Scheduled Payments Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticScheduledResponse5' - 200DomesticScheduledPaymentsDomesticScheduledPaymentIdPaymentDetailsRead: - description: Payment Details Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' - 201DomesticStandingOrderConsentsCreated: - description: Domestic Standing Order Consents Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6' - 200DomesticStandingOrderConsentsConsentIdRead: - description: Domestic Standing Order Consents Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6' - 201DomesticStandingOrdersCreated: - description: Domestic Standing Orders Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticStandingOrderResponse6' - 200DomesticStandingOrdersDomesticStandingOrderIdRead: - description: Domestic Standing Orders Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteDomesticStandingOrderResponse6' - 200DomesticStandingOrdersDomesticStandingOrderIdPaymentDetailsRead: - description: Payment Details Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' - 201FilePaymentConsentsCreated: - description: File Payment Consents Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteFileConsentResponse4' - 200FilePaymentConsentsConsentIdFileCreated: - description: File Payment Consents Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 200FilePaymentConsentsConsentIdRead: - description: File Payment Consents Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteFileConsentResponse4' - 200FilePaymentConsentsConsentIdFileRead: - description: File Payment Consents Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/File' - 201FilePaymentsCreated: - description: File Payments Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteFileResponse3' - 200FilePaymentsFilePaymentIdRead: - description: File Payments Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteFileResponse3' - 200FilePaymentsFilePaymentIdReportFileRead: - description: File Payments Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/File' - 200FilePaymentsFilePaymentIdPaymentDetailsRead: - description: Payment Details Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' - 201InternationalPaymentConsentsCreated: - description: International Payment Consents Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalConsentResponse6' - 200InternationalPaymentConsentsConsentIdRead: - description: International Payment Consents Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalConsentResponse6' - 200InternationalPaymentConsentsConsentIdFundsConfirmationRead: - description: International Payment Consents Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' - 201InternationalPaymentsCreated: - description: International Payments Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalResponse5' - 200InternationalPaymentsInternationalPaymentIdRead: - description: International Payments Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalResponse5' - 200InternationalPaymentsInternationalPaymentIdPaymentDetailsRead: - description: Payment Details Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' - 201InternationalScheduledPaymentConsentsCreated: - description: International Scheduled Payment Consents Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalScheduledConsentResponse6' - 200InternationalScheduledPaymentConsentsConsentIdRead: - description: International Scheduled Payment Consents Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalScheduledConsentResponse6' - 200InternationalScheduledPaymentConsentsConsentIdFundsConfirmationRead: - description: International Scheduled Payment Consents Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' - 201InternationalScheduledPaymentsCreated: - description: International Scheduled Payments Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalScheduledResponse6' - 200InternationalScheduledPaymentsInternationalScheduledPaymentIdRead: - description: International Scheduled Payments Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalScheduledResponse6' - 200InternationalScheduledPaymentsInternationalScheduledPaymentIdPaymentDetailsRead: - description: Payment Details Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' - 201InternationalStandingOrderConsentsCreated: - description: International Standing Order Consents Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: >- - #/components/schemas/OBWriteInternationalStandingOrderConsentResponse7 - 200InternationalStandingOrderConsentsConsentIdRead: - description: International Standing Order Consents Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: >- - #/components/schemas/OBWriteInternationalStandingOrderConsentResponse7 - 201InternationalStandingOrdersCreated: - description: International Standing Orders Created - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalStandingOrderResponse7' - 200InternationalStandingOrdersInternationalStandingOrderPaymentIdRead: - description: International Standing Orders Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWriteInternationalStandingOrderResponse7' - 200InternationalStandingOrdersInternationalStandingOrderPaymentIdPaymentDetailsRead: - description: Payment Details Read - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' - 400Error: - description: Bad request - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBErrorResponse1' - 401Error: - description: Unauthorized - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 403Error: - description: Forbidden - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBErrorResponse1' - 404Error: - description: Not found - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 405Error: - description: Method Not Allowed - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 406Error: - description: Not Acceptable - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 415Error: - description: Unsupported Media Type - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 429Error: - description: Too Many Requests - headers: - Retry-After: - description: Number in seconds to wait - schema: - type: integer - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - 500Error: - description: Internal Server Error - headers: - x-fapi-interaction-id: - description: An RFC4122 UID used as a correlation id. - schema: - type: string - x-jws-signature: - description: > - Header containing a detached JWS signature of the body of the - payload. - schema: - type: string - content: - application/json: - schema: - $ref: '#/components/schemas/OBErrorResponse1' - schemas: - ActiveOrHistoricCurrencyCode: - description: >- - A code allocated to a currency by a Maintenance Agency under an - international identification scheme, as described in the latest edition - of the international standard ISO 4217 "Codes for the representation of - currencies and funds". - type: string - pattern: '^[A-Z]{3,3}$' - BuildingNumber: - description: Number that identifies the position of a building on a street. - type: string - minLength: 1 - maxLength: 16 - CountryCode: - description: Nation with its own government. - type: string - pattern: '^[A-Z]{2,2}$' - CountrySubDivision: - description: 'Identifies a subdivision of a country such as state, region, county.' - type: string - minLength: 1 - maxLength: 35 - Department: - description: Identification of a division of a large organisation or building. - type: string - minLength: 1 - maxLength: 70 - File: - type: object - additionalProperties: false - properties: {} - ISODateTime: - description: >- - All dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An example - is below: - - 2017-04-05T10:43:07+00:00 - type: string - format: date-time - Identification_0: - description: >- - Identification assigned by an institution to identify an account. This - identification is known by the account owner. - type: string - minLength: 1 - maxLength: 256 - Identification_1: - description: >- - Unique and unambiguous identification of a financial institution or a - branch of a financial institution. - type: string - minLength: 1 - maxLength: 35 - Links: - type: object - additionalProperties: false - description: Links relevant to the payload - properties: - Self: - type: string - format: uri - First: - type: string - format: uri - Prev: - type: string - format: uri - Next: - type: string - format: uri - Last: - type: string - format: uri - required: - - Self - Meta: - title: MetaData - type: object - additionalProperties: false - description: Meta Data relevant to the payload - properties: - TotalPages: - type: integer - format: int32 - FirstAvailableDateTime: - $ref: '#/components/schemas/ISODateTime' - LastAvailableDateTime: - $ref: '#/components/schemas/ISODateTime' - Name: - description: >- - Name by which an agent is known and which is usually used to identify - that agent. - type: string - minLength: 1 - maxLength: 140 - OBActiveCurrencyAndAmount_SimpleType: - description: >- - A number of monetary units specified in an active currency where the - unit of currency is explicit and compliant with ISO 4217. - type: string - pattern: '^\d{1,13}$|^\d{1,13}\.\d{1,5}$' - OBActiveOrHistoricCurrencyAndAmount: - type: object - additionalProperties: false - required: - - Amount - - Currency - description: Amount of money associated with the charge type. - properties: - Amount: - $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' - Currency: - $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' - OBAddressTypeCode: - description: Identifies the nature of the postal address. - type: string - enum: - - Business - - Correspondence - - DeliveryTo - - MailTo - - POBox - - Postal - - Residential - - Statement - OBChargeBearerType1Code: - description: >- - Specifies which party/parties will bear the charges associated with the - processing of the payment transaction. - type: string - enum: - - BorneByCreditor - - BorneByDebtor - - FollowingServiceLevel - - Shared - OBError1: - type: object - additionalProperties: false - properties: - ErrorCode: - description: 'Low level textual error code, e.g., UK.OBIE.Field.Missing' - type: string - x-namespaced-enum: - - UK.OBIE.Field.Expected - - UK.OBIE.Field.Invalid - - UK.OBIE.Field.InvalidDate - - UK.OBIE.Field.Missing - - UK.OBIE.Field.Unexpected - - UK.OBIE.Header.Invalid - - UK.OBIE.Header.Missing - - UK.OBIE.Reauthenticate - - UK.OBIE.Resource.ConsentMismatch - - UK.OBIE.Resource.InvalidConsentStatus - - UK.OBIE.Resource.InvalidFormat - - UK.OBIE.Resource.NotFound - - UK.OBIE.Rules.AfterCutOffDateTime - - UK.OBIE.Rules.DuplicateReference - - UK.OBIE.Signature.Invalid - - UK.OBIE.Signature.InvalidClaim - - UK.OBIE.Signature.Malformed - - UK.OBIE.Signature.Missing - - UK.OBIE.Signature.MissingClaim - - UK.OBIE.Signature.Unexpected - - UK.OBIE.UnexpectedError - - UK.OBIE.Unsupported.AccountIdentifier - - UK.OBIE.Unsupported.AccountSecondaryIdentifier - - UK.OBIE.Unsupported.Currency - - UK.OBIE.Unsupported.Frequency - - UK.OBIE.Unsupported.LocalInstrument - - UK.OBIE.Unsupported.Scheme - Message: - description: >- - A description of the error that occurred. e.g., 'A mandatory field - isn't supplied' or 'RequestedExecutionDateTime must be in future' - - OBIE doesn't standardise this field - type: string - minLength: 1 - maxLength: 500 - Path: - description: >- - Recommended but optional reference to the JSON Path of the field - with error, e.g., Data.Initiation.InstructedAmount.Currency - type: string - minLength: 1 - maxLength: 500 - Url: - description: >- - URL to help remediate the problem, or provide more information, or - to API Reference, or help etc - type: string - required: - - ErrorCode - - Message - minProperties: 1 - OBErrorResponse1: - description: >- - An array of detail error codes, and messages, and URLs to documentation - to help remediation. - type: object - additionalProperties: false - properties: - Code: - description: 'High level textual error code, to help categorize the errors.' - type: string - minLength: 1 - maxLength: 40 - Id: - description: >- - A unique reference for the error instance, for audit purposes, in - case of unknown/unclassified errors. - type: string - minLength: 1 - maxLength: 40 - Message: - description: >- - Brief Error message, e.g., 'There is something wrong with the - request parameters provided' - type: string - minLength: 1 - maxLength: 500 - Errors: - items: - $ref: '#/components/schemas/OBError1' - type: array - minItems: 1 - required: - - Code - - Message - - Errors - OBExternalAccountIdentification4Code: - description: >- - Name of the identification scheme, in a coded form as published in an - external list. - type: string - x-namespaced-enum: - - UK.OBIE.BBAN - - UK.OBIE.IBAN - - UK.OBIE.PAN - - UK.OBIE.Paym - - UK.OBIE.SortCodeAccountNumber - OBExternalFinancialInstitutionIdentification4Code: - description: >- - Name of the identification scheme, in a coded form as published in an - external list. - type: string - x-namespaced-enum: - - UK.OBIE.BICFI - OBExternalLocalInstrument1Code: - description: >- - User community specific instrument. - - Usage: This element is used to specify a local instrument, local - clearing option and/or further qualify the service or service level. - type: string - x-namespaced-enum: - - UK.OBIE.BACS - - UK.OBIE.BalanceTransfer - - UK.OBIE.CHAPS - - UK.OBIE.Euro1 - - UK.OBIE.FPS - - UK.OBIE.Link - - UK.OBIE.MoneyTransfer - - UK.OBIE.Paym - - UK.OBIE.SEPACreditTransfer - - UK.OBIE.SEPAInstantCreditTransfer - - UK.OBIE.SWIFT - - UK.OBIE.Target2 - OBExternalPaymentChargeType1Code: - description: 'Charge type, in a coded form.' - type: string - x-namespaced-enum: - - UK.OBIE.CHAPSOut - OBPostalAddress6: - type: object - additionalProperties: false - description: >- - Information that locates and identifies a specific address, as defined - by postal services. - properties: - AddressType: - $ref: '#/components/schemas/OBAddressTypeCode' - Department: - $ref: '#/components/schemas/Department' - SubDepartment: - $ref: '#/components/schemas/SubDepartment' - StreetName: - $ref: '#/components/schemas/StreetName' - BuildingNumber: - $ref: '#/components/schemas/BuildingNumber' - PostCode: - $ref: '#/components/schemas/PostCode' - TownName: - $ref: '#/components/schemas/TownName' - CountrySubDivision: - $ref: '#/components/schemas/CountrySubDivision' - Country: - $ref: '#/components/schemas/CountryCode' - AddressLine: - type: array - items: - description: >- - Information that locates and identifies a specific address, as - defined by postal services, presented in free format text. - type: string - minLength: 1 - maxLength: 70 - minItems: 0 - maxItems: 7 + description: Information that locates and identifies a specific address, + as defined by postal services, presented in free format text. + description: Information that locates and identifies a specific address, as + defined by postal services. OBDebtorIdentification1: type: object - additionalProperties: false - description: Set of elements used to identify a person or an organisation. properties: Name: - type: string - description: >- - The account name is the name or names of the account owner(s) - represented at an account level, as displayed by the ASPSP's online - channels. Note, the account name is not the product name or the - nickname of the account. + maxLength: 350 minLength: 0 - maxLength: 140 + type: string + description: The account name is the name or names of the account owner(s) + represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the + account. + description: Set of elements used to identify a person or an organisation. OBRisk1: type: object - additionalProperties: false - description: >- - The Risk section is sent by the initiating party to the ASPSP. It is - used to specify additional details for risk scoring for Payments. properties: PaymentContextCode: - description: Specifies the payment context type: string + description: Specifies the payment context enum: - - BillPayment - - EcommerceGoods - - EcommerceServices - - Other - - PartyToParty + - BillPayment + - EcommerceGoods + - EcommerceServices + - Other + - PartyToParty MerchantCategoryCode: - description: >- - Category code conform to ISO 18245, related to the type of services - or goods the merchant provides for the transaction. - type: string - minLength: 3 maxLength: 4 - MerchantCustomerIdentification: - description: The unique customer identifier of the PSU with the merchant. + minLength: 3 type: string - minLength: 1 + description: Category code conform to ISO 18245, related to the type of + services or goods the merchant provides for the transaction. + MerchantCustomerIdentification: maxLength: 70 + minLength: 1 + type: string + description: The unique customer identifier of the PSU with the merchant. DeliveryAddress: - type: object - additionalProperties: false required: - - TownName - - Country - description: >- - Information that locates and identifies a specific address, as - defined by postal services or in free format text. + - Country + - TownName + type: object properties: AddressLine: + maxItems: 2 + minItems: 0 type: array items: - description: >- - Information that locates and identifies a specific address, as - defined by postal services, that is presented in free format - text. - type: string - minLength: 1 maxLength: 70 - minItems: 0 - maxItems: 2 + minLength: 1 + type: string + description: Information that locates and identifies a specific address, + as defined by postal services, that is presented in free format + text. StreetName: $ref: '#/components/schemas/StreetName' BuildingNumber: @@ -2935,579 +7634,411 @@ components: CountrySubDivision: $ref: '#/components/schemas/CountrySubDivision' Country: - description: >- - Nation with its own government, occupying a particular - territory. + pattern: ^[A-Z]{2,2}$ type: string - pattern: '^[A-Z]{2,2}$' + description: Nation with its own government, occupying a particular + territory. + description: Information that locates and identifies a specific address, + as defined by postal services or in free format text. + description: The Risk section is sent by the initiating party to the ASPSP. + It is used to specify additional details for risk scoring for Payments. OBSupplementaryData1: type: object - additionalProperties: true - properties: {} - description: >- - Additional information that can not be captured in the structured fields - and/or any other specific block. + description: Additional information that can not be captured in the structured + fields and/or any other specific block. OBWriteDomestic2: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - Initiation + - ConsentId + - Initiation + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - EndToEndIdentification - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single domestic payment. + - CreditorAccount + - EndToEndIdentification + - InstructedAmount + - InstructionIdentification + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. CreditorPostalAddress: $ref: '#/components/schemas/OBPostalAddress6' RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single domestic payment. Risk: $ref: '#/components/schemas/OBRisk1' OBWriteDomesticConsent4: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - Initiation + - Initiation + type: object properties: ReadRefundAccount: - description: Specifies to share the refund account details with PISP type: string + description: Specifies to share the refund account details with PISP enum: - - 'No' - - 'Yes' + - No + - Yes Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - EndToEndIdentification - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single domestic payment. + - CreditorAccount + - EndToEndIdentification + - InstructedAmount + - InstructionIdentification + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. CreditorPostalAddress: $ref: '#/components/schemas/OBPostalAddress6' RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single domestic payment. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Risk: $ref: '#/components/schemas/OBRisk1' OBWriteDomesticConsentResponse5: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Initiation + - ConsentId + - CreationDateTime + - Initiation + - Status + - StatusUpdateDateTime + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the resource was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of consent resource in code form. type: string + description: Specifies the status of consent resource in code form. enum: - - Authorised - - AwaitingAuthorisation - - Consumed - - Rejected + - Authorised + - AwaitingAuthorisation + - Consumed + - Rejected StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ReadRefundAccount: - description: Specifies to share the refund account details with PISP type: string + description: Specifies to share the refund account details with PISP enum: - - 'No' - - 'Yes' + - No + - Yes CutOffDateTime: - description: >- - Specified cut-off date and time for the payment consent.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified cut-off date and time for the payment consent.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedExecutionDateTime: - description: >- - Expected execution date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected execution date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedSettlementDateTime: - description: >- - Expected settlement date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected settlement date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -3515,243 +8046,171 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - EndToEndIdentification - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single domestic payment. + - CreditorAccount + - EndToEndIdentification + - InstructedAmount + - InstructionIdentification + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. CreditorPostalAddress: $ref: '#/components/schemas/OBPostalAddress6' RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single domestic payment. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Risk: @@ -3761,145 +8220,107 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteDomesticResponse5: - type: object - additionalProperties: false required: - - Data + - Data + type: object properties: Data: - type: object - additionalProperties: false required: - - DomesticPaymentId - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Initiation + - ConsentId + - CreationDateTime + - DomesticPaymentId + - Initiation + - Status + - StatusUpdateDateTime + type: object properties: DomesticPaymentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the domestic payment resource. - type: string - minLength: 1 maxLength: 40 - ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the domestic payment resource.' + ConsentId: maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the message was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the message was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of the payment information group. type: string + description: Specifies the status of the payment information group. enum: - - AcceptedCreditSettlementCompleted - - AcceptedSettlementCompleted - - AcceptedSettlementInProcess - - AcceptedWithoutPosting - - Pending - - Rejected + - AcceptedCreditSettlementCompleted + - AcceptedSettlementCompleted + - AcceptedSettlementInProcess + - AcceptedWithoutPosting + - Pending + - Rejected StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedExecutionDateTime: - description: >- - Expected execution date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected execution date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedSettlementDateTime: - description: >- - Expected settlement date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected settlement date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Refund: - type: object - additionalProperties: false required: - - Account - description: >- - Unambiguous identification of the refund account to which a - refund will be made as a result of the transaction. + - Account + type: object properties: Account: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: Provides the details to identify an account. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - Name of the account, as assigned by the account - servicing institution. - - Usage: The account name is the name or names of the - account owner(s) represented at an account level. The - account name is not the product name or the nickname of - the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + Name of the account, as assigned by the account servicing institution. + Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify an account. + description: Unambiguous identification of the refund account to which + a refund will be made as a result of the transaction. Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -3907,223 +8328,156 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - EndToEndIdentification - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single domestic payment. + - CreditorAccount + - EndToEndIdentification + - InstructedAmount + - InstructionIdentification + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. CreditorPostalAddress: $ref: '#/components/schemas/OBPostalAddress6' RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single domestic payment. MultiAuthorisation: - type: object - additionalProperties: false required: - - Status - description: The multiple authorisation flow response from the ASPSP. + - Status + type: object properties: Status: - description: Specifies the status of the authorisation flow in code form. type: string + description: Specifies the status of the authorisation flow in code + form. enum: - - Authorised - - AwaitingFurtherAuthorisation - - Rejected + - Authorised + - AwaitingFurtherAuthorisation + - Rejected NumberRequired: - description: >- - Number of authorisations required for payment order (total - required at the start of the multi authorisation journey). type: integer + description: Number of authorisations required for payment order + (total required at the start of the multi authorisation journey). NumberReceived: - description: Number of authorisations received. type: integer + description: Number of authorisations received. LastUpdateDateTime: - description: >- - Last date and time at the authorisation flow was updated.All - dates in the JSON payloads are represented in ISO 8601 - date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Last date and time at the authorisation flow was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the\ + \ timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpirationDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The multiple authorisation flow response from the ASPSP. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Links: @@ -4131,608 +8485,428 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteDomesticScheduled2: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - Initiation + - ConsentId + - Initiation + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - RequestedExecutionDateTime - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single scheduled domestic payment. + - CreditorAccount + - InstructedAmount + - InstructionIdentification + - RequestedExecutionDateTime + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' RequestedExecutionDateTime: - description: >- - Date at which the initiating party requests the clearing - agent to process the payment. - - Usage: This is the date on which the debtor's account is to - be debited.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date at which the initiating party requests the clearing\ + \ agent to process the payment. \nUsage: This is the date on which\ + \ the debtor's account is to be debited.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. CreditorPostalAddress: $ref: '#/components/schemas/OBPostalAddress6' RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single scheduled domestic payment. Risk: $ref: '#/components/schemas/OBRisk1' OBWriteDomesticScheduledConsent4: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - Permission - - Initiation + - Initiation + - Permission + type: object properties: Permission: - description: Specifies the Open Banking service request types. type: string + description: Specifies the Open Banking service request types. enum: - - Create + - Create ReadRefundAccount: - description: Specifies to share the refund account details with PISP type: string + description: Specifies to share the refund account details with PISP enum: - - 'No' - - 'Yes' + - No + - Yes Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - RequestedExecutionDateTime - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single scheduled domestic payment. + - CreditorAccount + - InstructedAmount + - InstructionIdentification + - RequestedExecutionDateTime + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' RequestedExecutionDateTime: - description: >- - Date at which the initiating party requests the clearing - agent to process the payment. - - Usage: This is the date on which the debtor's account is to - be debited.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date at which the initiating party requests the clearing\ + \ agent to process the payment. \nUsage: This is the date on which\ + \ the debtor's account is to be debited.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. CreditorPostalAddress: $ref: '#/components/schemas/OBPostalAddress6' RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single scheduled domestic payment. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Risk: $ref: '#/components/schemas/OBRisk1' OBWriteDomesticScheduledConsentResponse5: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Permission - - Initiation + - ConsentId + - CreationDateTime + - Initiation + - Permission + - Status + - StatusUpdateDateTime + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the resource was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of consent resource in code form. type: string + description: Specifies the status of consent resource in code form. enum: - - Authorised - - AwaitingAuthorisation - - Consumed - - Rejected + - Authorised + - AwaitingAuthorisation + - Consumed + - Rejected StatusUpdateDateTime: - description: >- - Date and time at which the consent resource status was - updated.All dates in the JSON payloads are represented in ISO - 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the consent resource status was\ + \ updated.All dates in the JSON payloads are represented in ISO 8601\ + \ date-time format. \nAll date-time fields in responses must include\ + \ the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Permission: - description: Specifies the Open Banking service request types. type: string + description: Specifies the Open Banking service request types. enum: - - Create + - Create ReadRefundAccount: - description: Specifies to share the refund account details with PISP type: string + description: Specifies to share the refund account details with PISP enum: - - 'No' - - 'Yes' + - No + - Yes CutOffDateTime: - description: >- - Specified cut-off date and time for the payment consent.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified cut-off date and time for the payment consent.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedExecutionDateTime: - description: >- - Expected execution date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected execution date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedSettlementDateTime: - description: >- - Expected settlement date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected settlement date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -4740,258 +8914,180 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - RequestedExecutionDateTime - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single scheduled domestic payment. + - CreditorAccount + - InstructedAmount + - InstructionIdentification + - RequestedExecutionDateTime + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' RequestedExecutionDateTime: - description: >- - Date at which the initiating party requests the clearing - agent to process the payment. - - Usage: This is the date on which the debtor's account is to - be debited.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date at which the initiating party requests the clearing\ + \ agent to process the payment. \nUsage: This is the date on which\ + \ the debtor's account is to be debited.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. CreditorPostalAddress: $ref: '#/components/schemas/OBPostalAddress6' RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single scheduled domestic payment. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Risk: @@ -5001,143 +9097,105 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteDomesticScheduledResponse5: - type: object - additionalProperties: false required: - - Data + - Data + type: object properties: Data: - type: object - additionalProperties: false required: - - DomesticScheduledPaymentId - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Initiation + - ConsentId + - CreationDateTime + - DomesticScheduledPaymentId + - Initiation + - Status + - StatusUpdateDateTime + type: object properties: DomesticScheduledPaymentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the domestic schedule payment resource. - type: string - minLength: 1 maxLength: 40 - ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the domestic schedule payment resource.' + ConsentId: maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the message was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the message was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of the payment order resource. type: string + description: Specifies the status of the payment order resource. enum: - - Cancelled - - InitiationCompleted - - InitiationFailed - - InitiationPending + - Cancelled + - InitiationCompleted + - InitiationFailed + - InitiationPending StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedExecutionDateTime: - description: >- - Expected execution date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected execution date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedSettlementDateTime: - description: >- - Expected settlement date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected settlement date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Refund: - type: object - additionalProperties: false required: - - Account - description: >- - Unambiguous identification of the refund account to which a - refund will be made as a result of the transaction. + - Account + type: object properties: Account: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: Provides the details to identify an account. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - Name of the account, as assigned by the account - servicing institution. - - Usage: The account name is the name or names of the - account owner(s) represented at an account level. The - account name is not the product name or the nickname of - the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + Name of the account, as assigned by the account servicing institution. + Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify an account. + description: Unambiguous identification of the refund account to which + a refund will be made as a result of the transaction. Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -5145,238 +9203,165 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - RequestedExecutionDateTime - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single scheduled domestic payment. + - CreditorAccount + - InstructedAmount + - InstructionIdentification + - RequestedExecutionDateTime + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' RequestedExecutionDateTime: - description: >- - Date at which the initiating party requests the clearing - agent to process the payment. - - Usage: This is the date on which the debtor's account is to - be debited.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date at which the initiating party requests the clearing\ + \ agent to process the payment. \nUsage: This is the date on which\ + \ the debtor's account is to be debited.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. CreditorPostalAddress: $ref: '#/components/schemas/OBPostalAddress6' RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single scheduled domestic payment. MultiAuthorisation: - type: object - additionalProperties: false required: - - Status - description: The multiple authorisation flow response from the ASPSP. + - Status + type: object properties: Status: - description: Specifies the status of the authorisation flow in code form. type: string + description: Specifies the status of the authorisation flow in code + form. enum: - - Authorised - - AwaitingFurtherAuthorisation - - Rejected + - Authorised + - AwaitingFurtherAuthorisation + - Rejected NumberRequired: - description: >- - Number of authorisations required for payment order (total - required at the start of the multi authorisation journey). type: integer + description: Number of authorisations required for payment order + (total required at the start of the multi authorisation journey). NumberReceived: - description: Number of authorisations received. type: integer + description: Number of authorisations received. LastUpdateDateTime: - description: >- - Last date and time at the authorisation flow was updated.All - dates in the JSON payloads are represented in ISO 8601 - date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Last date and time at the authorisation flow was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the\ + \ timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpirationDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The multiple authorisation flow response from the ASPSP. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Links: @@ -5384,704 +9369,480 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteDomesticStandingOrder3: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - Initiation + - ConsentId + - Initiation + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' Initiation: - type: object - additionalProperties: false required: - - Frequency - - FirstPaymentDateTime - - FirstPaymentAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a domestic standing order. + - CreditorAccount + - FirstPaymentAmount + - FirstPaymentDateTime + - Frequency + type: object properties: Frequency: - description: >- - Individual Definitions: - - EvryDay - Every day - - EvryWorkgDay - Every working day - - IntrvlWkDay - An interval specified in weeks (01 to 09), and - the day within the week (01 to 07) - - WkInMnthDay - A monthly interval, specifying the week of the - month (01 to 05) and day within the week (01 to 07) - - IntrvlMnthDay - An interval specified in months (between 01 - to 06, 12, 24), specifying the day within the month (-5 to - -1, 1 to 31) - - QtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). - - ENGLISH = Paid on the 25th March, 24th June, 29th September - and 25th December. - - SCOTTISH = Paid on the 2nd February, 15th May, 1st August - and 11th November. - - RECEIVED = Paid on the 20th March, 19th June, 24th September - and 20th December. - - Individual Patterns: - - EvryDay (ScheduleCode) - - EvryWorkgDay (ScheduleCode) - - IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + - IntervalInWeeks + DayInWeek) - - WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + - WeekInMonth + DayInWeek) - - IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + - IntervalInMonths + DayInMonth) - - QtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) - ScheduleCode + QuarterDay - - The regular expression for this element combines five - smaller versions for each permitted pattern. To aid - legibility - the components are presented individually here: - - EvryDay - - EvryWorkgDay - - IntrvlWkDay:0[1-9]:0[1-7] - - WkInMnthDay:0[1-5]:0[1-7] - - IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]) - - QtrDay:(ENGLISH|SCOTTISH|RECEIVED) - - Full Regular Expression: - - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ - type: string - pattern: >- - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + pattern: ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + type: string + description: "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay\ + \ - Every working day\nIntrvlWkDay - An interval specified in\ + \ weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay\ + \ - A monthly interval, specifying the week of the month (01 to\ + \ 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval\ + \ specified in months (between 01 to 06, 12, 24), specifying the\ + \ day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly\ + \ (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on\ + \ the 25th March, 24th June, 29th September and 25th December.\ + \ \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August\ + \ and 11th November.\nRECEIVED = Paid on the 20th March, 19th\ + \ June, 24th September and 20th December. \nIndividual Patterns:\n\ + EvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek\ + \ (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek\ + \ (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth\ + \ (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either\ + \ (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\n\ + The regular expression for this element combines five smaller\ + \ versions for each permitted pattern. To aid legibility - the\ + \ components are presented individually here:\nEvryDay\nEvryWorkgDay\n\ + IntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\n\ + QtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n\ + ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, to - enable reconciliation by the creditor upon receipt of the - amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only one - identifier can be passed through the end-to-end chain, the - creditor's reference or payment remittance identification - should be quoted in the end-to-end transaction - identification. - type: string - minLength: 1 maxLength: 35 - NumberOfPayments: - description: >- - Number of the payments that will be made in completing this - frequency sequence including any executed since the sequence - start date. - type: string minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + NumberOfPayments: maxLength: 35 + minLength: 1 + type: string + description: Number of the payments that will be made in completing + this frequency sequence including any executed since the sequence + start date. FirstPaymentDateTime: - description: >- - The date on which the first payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the first payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time RecurringPaymentDateTime: - description: >- - The date on which the first recurring payment for a Standing - Order schedule will be made. - - Usage: This must be populated only if the first recurring - date is different to the first payment date.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the first recurring payment for\ + \ a Standing Order schedule will be made. \nUsage: This must be\ + \ populated only if the first recurring date is different to the\ + \ first payment date.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time FinalPaymentDateTime: - description: >- - The date on which the final payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the final payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time FirstPaymentAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: The amount of the first Standing Order + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: The amount of the first Standing Order RecurringPaymentAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: The amount of the recurring Standing Order + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: The amount of the recurring Standing Order FinalPaymentAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: The amount of the final Standing Order + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: The amount of the final Standing Order DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: Provides the details to identify the debtor account. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the debtor account. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Identification assigned by an institution to identify an - account. This identification is known by the account owner. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Identification assigned by an institution to identify + an account. This identification is known by the account owner. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a domestic standing order. Risk: $ref: '#/components/schemas/OBRisk1' OBWriteDomesticStandingOrderConsent5: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - Permission - - Initiation + - Initiation + - Permission + type: object properties: Permission: - description: Specifies the Open Banking service request types. type: string + description: Specifies the Open Banking service request types. enum: - - Create + - Create ReadRefundAccount: - description: Specifies to share the refund account details with PISP type: string + description: Specifies to share the refund account details with PISP enum: - - 'No' - - 'Yes' + - No + - Yes Initiation: - type: object - additionalProperties: false required: - - Frequency - - FirstPaymentDateTime - - FirstPaymentAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a domestic standing order. + - CreditorAccount + - FirstPaymentAmount + - FirstPaymentDateTime + - Frequency + type: object properties: Frequency: - description: >- - Individual Definitions: - - EvryDay - Every day - - EvryWorkgDay - Every working day - - IntrvlWkDay - An interval specified in weeks (01 to 09), and - the day within the week (01 to 07) - - WkInMnthDay - A monthly interval, specifying the week of the - month (01 to 05) and day within the week (01 to 07) - - IntrvlMnthDay - An interval specified in months (between 01 - to 06, 12, 24), specifying the day within the month (-5 to - -1, 1 to 31) - - QtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). - - ENGLISH = Paid on the 25th March, 24th June, 29th September - and 25th December. - - SCOTTISH = Paid on the 2nd February, 15th May, 1st August - and 11th November. - - RECEIVED = Paid on the 20th March, 19th June, 24th September - and 20th December. - - Individual Patterns: - - EvryDay (ScheduleCode) - - EvryWorkgDay (ScheduleCode) - - IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + - IntervalInWeeks + DayInWeek) - - WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + - WeekInMonth + DayInWeek) - - IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + - IntervalInMonths + DayInMonth) - - QtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) - ScheduleCode + QuarterDay - - The regular expression for this element combines five - smaller versions for each permitted pattern. To aid - legibility - the components are presented individually here: - - EvryDay - - EvryWorkgDay - - IntrvlWkDay:0[1-9]:0[1-7] - - WkInMnthDay:0[1-5]:0[1-7] - - IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]) - - QtrDay:(ENGLISH|SCOTTISH|RECEIVED) - - Full Regular Expression: - - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ - type: string - pattern: >- - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + pattern: ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + type: string + description: "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay\ + \ - Every working day\nIntrvlWkDay - An interval specified in\ + \ weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay\ + \ - A monthly interval, specifying the week of the month (01 to\ + \ 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval\ + \ specified in months (between 01 to 06, 12, 24), specifying the\ + \ day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly\ + \ (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on\ + \ the 25th March, 24th June, 29th September and 25th December.\ + \ \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August\ + \ and 11th November.\nRECEIVED = Paid on the 20th March, 19th\ + \ June, 24th September and 20th December. \nIndividual Patterns:\n\ + EvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek\ + \ (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek\ + \ (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth\ + \ (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either\ + \ (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\n\ + The regular expression for this element combines five smaller\ + \ versions for each permitted pattern. To aid legibility - the\ + \ components are presented individually here:\nEvryDay\nEvryWorkgDay\n\ + IntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\n\ + QtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n\ + ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, to - enable reconciliation by the creditor upon receipt of the - amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only one - identifier can be passed through the end-to-end chain, the - creditor's reference or payment remittance identification - should be quoted in the end-to-end transaction - identification. - type: string - minLength: 1 maxLength: 35 - NumberOfPayments: - description: >- - Number of the payments that will be made in completing this - frequency sequence including any executed since the sequence - start date. - type: string minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + NumberOfPayments: maxLength: 35 + minLength: 1 + type: string + description: Number of the payments that will be made in completing + this frequency sequence including any executed since the sequence + start date. FirstPaymentDateTime: - description: >- - The date on which the first payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the first payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time RecurringPaymentDateTime: - description: >- - The date on which the first recurring payment for a Standing - Order schedule will be made. - - Usage: This must be populated only if the first recurring - date is different to the first payment date.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the first recurring payment for\ + \ a Standing Order schedule will be made. \nUsage: This must be\ + \ populated only if the first recurring date is different to the\ + \ first payment date.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time FinalPaymentDateTime: - description: >- - The date on which the final payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the final payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time FirstPaymentAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: The amount of the first Standing Order + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: The amount of the first Standing Order RecurringPaymentAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: The amount of the recurring Standing Order + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: The amount of the recurring Standing Order FinalPaymentAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: The amount of the final Standing Order + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: The amount of the final Standing Order DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: Provides the details to identify the debtor account. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the debtor account. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Identification assigned by an institution to identify an - account. This identification is known by the account owner. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Identification assigned by an institution to identify + an account. This identification is known by the account owner. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a domestic standing order. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Risk: $ref: '#/components/schemas/OBRisk1' OBWriteDomesticStandingOrderConsentResponse6: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Permission - - Initiation + - ConsentId + - CreationDateTime + - Initiation + - Permission + - Status + - StatusUpdateDateTime + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the resource was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of consent resource in code form. type: string + description: Specifies the status of consent resource in code form. enum: - - Authorised - - AwaitingAuthorisation - - Consumed - - Rejected + - Authorised + - AwaitingAuthorisation + - Consumed + - Rejected StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Permission: - description: Specifies the Open Banking service request types. type: string + description: Specifies the Open Banking service request types. enum: - - Create + - Create ReadRefundAccount: - description: Specifies to share the refund account details with PISP type: string + description: Specifies to share the refund account details with PISP enum: - - 'No' - - 'Yes' + - No + - Yes CutOffDateTime: - description: >- - Specified cut-off date and time for the payment consent.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified cut-off date and time for the payment consent.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -6089,318 +9850,213 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. Initiation: - type: object - additionalProperties: false required: - - Frequency - - FirstPaymentDateTime - - FirstPaymentAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a domestic standing order. + - CreditorAccount + - FirstPaymentAmount + - FirstPaymentDateTime + - Frequency + type: object properties: Frequency: - description: >- - Individual Definitions: - - EvryDay - Every day - - EvryWorkgDay - Every working day - - IntrvlWkDay - An interval specified in weeks (01 to 09), and - the day within the week (01 to 07) - - WkInMnthDay - A monthly interval, specifying the week of the - month (01 to 05) and day within the week (01 to 07) - - IntrvlMnthDay - An interval specified in months (between 01 - to 06, 12, 24), specifying the day within the month (-5 to - -1, 1 to 31) - - QtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). - - ENGLISH = Paid on the 25th March, 24th June, 29th September - and 25th December. - - SCOTTISH = Paid on the 2nd February, 15th May, 1st August - and 11th November. - - RECEIVED = Paid on the 20th March, 19th June, 24th September - and 20th December. - - Individual Patterns: - - EvryDay (ScheduleCode) - - EvryWorkgDay (ScheduleCode) - - IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + - IntervalInWeeks + DayInWeek) - - WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + - WeekInMonth + DayInWeek) - - IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + - IntervalInMonths + DayInMonth) - - QtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) - ScheduleCode + QuarterDay - - The regular expression for this element combines five - smaller versions for each permitted pattern. To aid - legibility - the components are presented individually here: - - EvryDay - - EvryWorkgDay - - IntrvlWkDay:0[1-9]:0[1-7] - - WkInMnthDay:0[1-5]:0[1-7] - - IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]) - - QtrDay:(ENGLISH|SCOTTISH|RECEIVED) - - Full Regular Expression: - - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ - type: string - pattern: >- - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + pattern: ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + type: string + description: "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay\ + \ - Every working day\nIntrvlWkDay - An interval specified in\ + \ weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay\ + \ - A monthly interval, specifying the week of the month (01 to\ + \ 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval\ + \ specified in months (between 01 to 06, 12, 24), specifying the\ + \ day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly\ + \ (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on\ + \ the 25th March, 24th June, 29th September and 25th December.\ + \ \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August\ + \ and 11th November.\nRECEIVED = Paid on the 20th March, 19th\ + \ June, 24th September and 20th December. \nIndividual Patterns:\n\ + EvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek\ + \ (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek\ + \ (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth\ + \ (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either\ + \ (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\n\ + The regular expression for this element combines five smaller\ + \ versions for each permitted pattern. To aid legibility - the\ + \ components are presented individually here:\nEvryDay\nEvryWorkgDay\n\ + IntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\n\ + QtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n\ + ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, to - enable reconciliation by the creditor upon receipt of the - amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only one - identifier can be passed through the end-to-end chain, the - creditor's reference or payment remittance identification - should be quoted in the end-to-end transaction - identification. - type: string - minLength: 1 maxLength: 35 - NumberOfPayments: - description: >- - Number of the payments that will be made in completing this - frequency sequence including any executed since the sequence - start date. - type: string minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + NumberOfPayments: maxLength: 35 + minLength: 1 + type: string + description: Number of the payments that will be made in completing + this frequency sequence including any executed since the sequence + start date. FirstPaymentDateTime: - description: >- - The date on which the first payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the first payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time RecurringPaymentDateTime: - description: >- - The date on which the first recurring payment for a Standing - Order schedule will be made. - - Usage: This must be populated only if the first recurring - date is different to the first payment date.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the first recurring payment for\ + \ a Standing Order schedule will be made. \nUsage: This must be\ + \ populated only if the first recurring date is different to the\ + \ first payment date.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time FinalPaymentDateTime: - description: >- - The date on which the final payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the final payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time FirstPaymentAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: The amount of the first Standing Order + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: The amount of the first Standing Order RecurringPaymentAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: The amount of the recurring Standing Order + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: The amount of the recurring Standing Order FinalPaymentAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: The amount of the final Standing Order + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: The amount of the final Standing Order DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: Provides the details to identify the debtor account. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the debtor account. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Identification assigned by an institution to identify an - account. This identification is known by the account owner. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Identification assigned by an institution to identify + an account. This identification is known by the account owner. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a domestic standing order. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Risk: @@ -6410,119 +10066,91 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteDomesticStandingOrderResponse6: - type: object - additionalProperties: false required: - - Data + - Data + type: object properties: Data: - type: object - additionalProperties: false required: - - DomesticStandingOrderId - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Initiation + - ConsentId + - CreationDateTime + - DomesticStandingOrderId + - Initiation + - Status + - StatusUpdateDateTime + type: object properties: DomesticStandingOrderId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the domestic standing order resource. - type: string - minLength: 1 maxLength: 40 - ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the domestic standing order resource.' + ConsentId: maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the resource was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of the payment order resource. type: string + description: Specifies the status of the payment order resource. enum: - - Cancelled - - InitiationCompleted - - InitiationFailed - - InitiationPending + - Cancelled + - InitiationCompleted + - InitiationFailed + - InitiationPending StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Refund: - type: object - additionalProperties: false required: - - Account - description: >- - Unambiguous identification of the refund account to which a - refund will be made as a result of the transaction. + - Account + type: object properties: Account: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: Provides the details to identify an account. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - Name of the account, as assigned by the account - servicing institution. - - Usage: The account name is the name or names of the - account owner(s) represented at an account level. The - account name is not the product name or the nickname of - the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + Name of the account, as assigned by the account servicing institution. + Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify an account. + description: Unambiguous identification of the refund account to which + a refund will be made as a result of the transaction. Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -6530,298 +10158,198 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. Initiation: - type: object - additionalProperties: false required: - - Frequency - - FirstPaymentDateTime - - FirstPaymentAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a domestic standing order. + - CreditorAccount + - FirstPaymentAmount + - FirstPaymentDateTime + - Frequency + type: object properties: Frequency: - description: >- - Individual Definitions: - - EvryDay - Every day - - EvryWorkgDay - Every working day - - IntrvlWkDay - An interval specified in weeks (01 to 09), and - the day within the week (01 to 07) - - WkInMnthDay - A monthly interval, specifying the week of the - month (01 to 05) and day within the week (01 to 07) - - IntrvlMnthDay - An interval specified in months (between 01 - to 06, 12, 24), specifying the day within the month (-5 to - -1, 1 to 31) - - QtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). - - ENGLISH = Paid on the 25th March, 24th June, 29th September - and 25th December. - - SCOTTISH = Paid on the 2nd February, 15th May, 1st August - and 11th November. - - RECEIVED = Paid on the 20th March, 19th June, 24th September - and 20th December. - - Individual Patterns: - - EvryDay (ScheduleCode) - - EvryWorkgDay (ScheduleCode) - - IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + - IntervalInWeeks + DayInWeek) - - WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + - WeekInMonth + DayInWeek) - - IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + - IntervalInMonths + DayInMonth) - - QtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) - ScheduleCode + QuarterDay - - The regular expression for this element combines five - smaller versions for each permitted pattern. To aid - legibility - the components are presented individually here: - - EvryDay - - EvryWorkgDay - - IntrvlWkDay:0[1-9]:0[1-7] - - WkInMnthDay:0[1-5]:0[1-7] - - IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]) - - QtrDay:(ENGLISH|SCOTTISH|RECEIVED) - - Full Regular Expression: - - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ - type: string - pattern: >- - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + pattern: ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + type: string + description: "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay\ + \ - Every working day\nIntrvlWkDay - An interval specified in\ + \ weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay\ + \ - A monthly interval, specifying the week of the month (01 to\ + \ 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval\ + \ specified in months (between 01 to 06, 12, 24), specifying the\ + \ day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly\ + \ (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on\ + \ the 25th March, 24th June, 29th September and 25th December.\ + \ \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August\ + \ and 11th November.\nRECEIVED = Paid on the 20th March, 19th\ + \ June, 24th September and 20th December. \nIndividual Patterns:\n\ + EvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek\ + \ (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek\ + \ (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth\ + \ (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either\ + \ (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\n\ + The regular expression for this element combines five smaller\ + \ versions for each permitted pattern. To aid legibility - the\ + \ components are presented individually here:\nEvryDay\nEvryWorkgDay\n\ + IntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\n\ + QtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n\ + ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, to - enable reconciliation by the creditor upon receipt of the - amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only one - identifier can be passed through the end-to-end chain, the - creditor's reference or payment remittance identification - should be quoted in the end-to-end transaction - identification. - type: string - minLength: 1 maxLength: 35 - NumberOfPayments: - description: >- - Number of the payments that will be made in completing this - frequency sequence including any executed since the sequence - start date. - type: string minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + NumberOfPayments: maxLength: 35 + minLength: 1 + type: string + description: Number of the payments that will be made in completing + this frequency sequence including any executed since the sequence + start date. FirstPaymentDateTime: - description: >- - The date on which the first payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the first payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time RecurringPaymentDateTime: - description: >- - The date on which the first recurring payment for a Standing - Order schedule will be made. - - Usage: This must be populated only if the first recurring - date is different to the first payment date.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the first recurring payment for\ + \ a Standing Order schedule will be made. \nUsage: This must be\ + \ populated only if the first recurring date is different to the\ + \ first payment date.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time FinalPaymentDateTime: - description: >- - The date on which the final payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the final payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time FirstPaymentAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: The amount of the first Standing Order + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: The amount of the first Standing Order RecurringPaymentAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: The amount of the recurring Standing Order + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: The amount of the recurring Standing Order FinalPaymentAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: The amount of the final Standing Order + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: The amount of the final Standing Order DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: Provides the details to identify the debtor account. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the debtor account. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Identification assigned by an institution to identify an - account. This identification is known by the account owner. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Identification assigned by an institution to identify + an account. This identification is known by the account owner. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a domestic standing order. MultiAuthorisation: - type: object - additionalProperties: false required: - - Status - description: The multiple authorisation flow response from the ASPSP. + - Status + type: object properties: Status: - description: Specifies the status of the authorisation flow in code form. type: string + description: Specifies the status of the authorisation flow in code + form. enum: - - Authorised - - AwaitingFurtherAuthorisation - - Rejected + - Authorised + - AwaitingFurtherAuthorisation + - Rejected NumberRequired: - description: >- - Number of authorisations required for payment order (total - required at the start of the multi authorisation journey). type: integer + description: Number of authorisations required for payment order + (total required at the start of the multi authorisation journey). NumberReceived: - description: Number of authorisations received. type: integer + description: Number of authorisations received. LastUpdateDateTime: - description: >- - Last date and time at the authorisation flow was updated.All - dates in the JSON payloads are represented in ISO 8601 - date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Last date and time at the authorisation flow was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the\ + \ timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpirationDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The multiple authorisation flow response from the ASPSP. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Links: @@ -6829,440 +10357,324 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteFile2: - type: object - additionalProperties: false required: - - Data + - Data + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - Initiation + - ConsentId + - Initiation + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' Initiation: - type: object - additionalProperties: false required: - - FileType - - FileHash - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds using a payment - file. + - FileHash + - FileType + type: object properties: FileType: - description: Specifies the payment file type. - type: string - x-namespaced-enum: - - UK.OBIE.PaymentInitiation.3.1 - - UK.OBIE.pain.001.001.08 - FileHash: - description: >- - A base64 encoding of a SHA256 hash of the file to be - uploaded. - type: string - minLength: 1 - maxLength: 44 - FileReference: - description: Reference for the file. type: string + description: Specifies the payment file type. + x-namespaced-enum: + - UK.OBIE.PaymentInitiation.3.1 + - UK.OBIE.pain.001.001.08 + FileHash: + maxLength: 44 minLength: 1 + type: string + description: A base64 encoding of a SHA256 hash of the file to be + uploaded. + FileReference: maxLength: 40 - NumberOfTransactions: - description: >- - Number of individual transactions contained in the payment - information group. + minLength: 1 type: string + description: Reference for the file. + NumberOfTransactions: pattern: '[0-9]{1,15}' + type: string + description: Number of individual transactions contained in the + payment information group. ControlSum: - description: >- - Total of all individual amounts included in the group, - irrespective of currencies. type: number + description: Total of all individual amounts included in the group, + irrespective of currencies. RequestedExecutionDateTime: - description: >- - Date at which the initiating party requests the clearing - agent to process the payment. - - Usage: This is the date on which the debtor's account is to - be debited.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date at which the initiating party requests the clearing\ + \ agent to process the payment. \nUsage: This is the date on which\ + \ the debtor's account is to be debited.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds using a payment + file. OBWriteFileConsent3: - type: object - additionalProperties: false required: - - Data + - Data + type: object properties: Data: - type: object - additionalProperties: false required: - - Initiation + - Initiation + type: object properties: Initiation: - type: object - additionalProperties: false required: - - FileType - - FileHash - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds using a payment - file. + - FileHash + - FileType + type: object properties: FileType: - description: Specifies the payment file type. type: string + description: Specifies the payment file type. x-namespaced-enum: - - UK.OBIE.PaymentInitiation.3.1 - - UK.OBIE.pain.001.001.08 + - UK.OBIE.PaymentInitiation.3.1 + - UK.OBIE.pain.001.001.08 FileHash: - description: >- - A base64 encoding of a SHA256 hash of the file to be - uploaded. - type: string - minLength: 1 maxLength: 44 - FileReference: - description: Reference for the file. - type: string minLength: 1 + type: string + description: A base64 encoding of a SHA256 hash of the file to be + uploaded. + FileReference: maxLength: 40 - NumberOfTransactions: - description: >- - Number of individual transactions contained in the payment - information group. + minLength: 1 type: string + description: Reference for the file. + NumberOfTransactions: pattern: '[0-9]{1,15}' + type: string + description: Number of individual transactions contained in the + payment information group. ControlSum: - description: >- - Total of all individual amounts included in the group, - irrespective of currencies. type: number + description: Total of all individual amounts included in the group, + irrespective of currencies. RequestedExecutionDateTime: - description: >- - Date at which the initiating party requests the clearing - agent to process the payment. - - Usage: This is the date on which the debtor's account is to - be debited.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date at which the initiating party requests the clearing\ + \ agent to process the payment. \nUsage: This is the date on which\ + \ the debtor's account is to be debited.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds using a payment + file. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. OBWriteFileConsentResponse4: - type: object - additionalProperties: false required: - - Data + - Data + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Initiation + - ConsentId + - CreationDateTime + - Initiation + - Status + - StatusUpdateDateTime + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the resource was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of consent resource in code form. type: string + description: Specifies the status of consent resource in code form. enum: - - Authorised - - AwaitingAuthorisation - - AwaitingUpload - - Consumed - - Rejected + - Authorised + - AwaitingAuthorisation + - AwaitingUpload + - Consumed + - Rejected StatusUpdateDateTime: - description: >- - Date and time at which the consent resource status was - updated.All dates in the JSON payloads are represented in ISO - 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the consent resource status was\ + \ updated.All dates in the JSON payloads are represented in ISO 8601\ + \ date-time format. \nAll date-time fields in responses must include\ + \ the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time CutOffDateTime: - description: >- - Specified cut-off date and time for the payment consent.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified cut-off date and time for the payment consent.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -7270,201 +10682,150 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. Initiation: - type: object - additionalProperties: false required: - - FileType - - FileHash - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds using a payment - file. + - FileHash + - FileType + type: object properties: FileType: - description: Specifies the payment file type. type: string + description: Specifies the payment file type. x-namespaced-enum: - - UK.OBIE.PaymentInitiation.3.1 - - UK.OBIE.pain.001.001.08 + - UK.OBIE.PaymentInitiation.3.1 + - UK.OBIE.pain.001.001.08 FileHash: - description: >- - A base64 encoding of a SHA256 hash of the file to be - uploaded. - type: string - minLength: 1 maxLength: 44 - FileReference: - description: Reference for the file. - type: string minLength: 1 + type: string + description: A base64 encoding of a SHA256 hash of the file to be + uploaded. + FileReference: maxLength: 40 - NumberOfTransactions: - description: >- - Number of individual transactions contained in the payment - information group. + minLength: 1 type: string + description: Reference for the file. + NumberOfTransactions: pattern: '[0-9]{1,15}' + type: string + description: Number of individual transactions contained in the + payment information group. ControlSum: - description: >- - Total of all individual amounts included in the group, - irrespective of currencies. type: number + description: Total of all individual amounts included in the group, + irrespective of currencies. RequestedExecutionDateTime: - description: >- - Date at which the initiating party requests the clearing - agent to process the payment. - - Usage: This is the date on which the debtor's account is to - be debited.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date at which the initiating party requests the clearing\ + \ agent to process the payment. \nUsage: This is the date on which\ + \ the debtor's account is to be debited.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds using a payment + file. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Links: @@ -7472,78 +10833,61 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteFileResponse3: - type: object - additionalProperties: false required: - - Data + - Data + type: object properties: Data: - type: object - additionalProperties: false required: - - FilePaymentId - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Initiation + - ConsentId + - CreationDateTime + - FilePaymentId + - Initiation + - Status + - StatusUpdateDateTime + type: object properties: FilePaymentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the file payment resource. - type: string - minLength: 1 maxLength: 40 - ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the file payment resource.' + ConsentId: maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the message was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the message was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of the payment order resource. type: string + description: Specifies the status of the payment order resource. enum: - - InitiationCompleted - - InitiationFailed - - InitiationPending + - InitiationCompleted + - InitiationFailed + - InitiationPending StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -7551,181 +10895,135 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. Initiation: - type: object - additionalProperties: false required: - - FileType - - FileHash - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds using a payment - file. + - FileHash + - FileType + type: object properties: FileType: - description: Specifies the payment file type. type: string + description: Specifies the payment file type. x-namespaced-enum: - - UK.OBIE.PaymentInitiation.3.1 - - UK.OBIE.pain.001.001.08 + - UK.OBIE.PaymentInitiation.3.1 + - UK.OBIE.pain.001.001.08 FileHash: - description: >- - A base64 encoding of a SHA256 hash of the file to be - uploaded. - type: string - minLength: 1 maxLength: 44 - FileReference: - description: Reference for the file. - type: string minLength: 1 + type: string + description: A base64 encoding of a SHA256 hash of the file to be + uploaded. + FileReference: maxLength: 40 - NumberOfTransactions: - description: >- - Number of individual transactions contained in the payment - information group. + minLength: 1 type: string + description: Reference for the file. + NumberOfTransactions: pattern: '[0-9]{1,15}' + type: string + description: Number of individual transactions contained in the + payment information group. ControlSum: - description: >- - Total of all individual amounts included in the group, - irrespective of currencies. type: number + description: Total of all individual amounts included in the group, + irrespective of currencies. RequestedExecutionDateTime: - description: >- - Date at which the initiating party requests the clearing - agent to process the payment. - - Usage: This is the date on which the debtor's account is to - be debited.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date at which the initiating party requests the clearing\ + \ agent to process the payment. \nUsage: This is the date on which\ + \ the debtor's account is to be debited.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds using a payment + file. MultiAuthorisation: - type: object - additionalProperties: false required: - - Status - description: The multiple authorisation flow response from the ASPSP. + - Status + type: object properties: Status: - description: Specifies the status of the authorisation flow in code form. type: string + description: Specifies the status of the authorisation flow in code + form. enum: - - Authorised - - AwaitingFurtherAuthorisation - - Rejected + - Authorised + - AwaitingFurtherAuthorisation + - Rejected NumberRequired: - description: >- - Number of authorisations required for payment order (total - required at the start of the multi authorisation journey). type: integer + description: Number of authorisations required for payment order + (total required at the start of the multi authorisation journey). NumberReceived: - description: Number of authorisations received. type: integer + description: Number of authorisations received. LastUpdateDateTime: - description: >- - Last date and time at the authorisation flow was updated.All - dates in the JSON payloads are represented in ISO 8601 - date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Last date and time at the authorisation flow was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the\ + \ timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpirationDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The multiple authorisation flow response from the ASPSP. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Links: @@ -7733,40 +11031,31 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteFundsConfirmationResponse1: - type: object - additionalProperties: false required: - - Data + - Data + type: object properties: Data: type: object - additionalProperties: false properties: FundsAvailableResult: - type: object - additionalProperties: false required: - - FundsAvailableDateTime - - FundsAvailable - description: Result of a funds availability check. + - FundsAvailable + - FundsAvailableDateTime + type: object properties: FundsAvailableDateTime: - description: >- - Date and time at which the funds availability check was - generated.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the funds availability check\ + \ was generated.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time FundsAvailable: - description: >- - Flag to indicate the availability of funds given the Amount - in the consent request. type: boolean + description: Flag to indicate the availability of funds given the + Amount in the consent request. + description: Result of a funds availability check. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' Links: @@ -7774,790 +11063,588 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteInternational3: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - Initiation + - ConsentId + - Initiation + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - EndToEndIdentification - - CurrencyOfTransfer - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single international payment. + - CreditorAccount + - CurrencyOfTransfer + - EndToEndIdentification + - InstructedAmount + - InstructionIdentification + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' InstructionPriority: - description: >- - Indicator of the urgency or order of importance that the - instructing party would like the instructed party to apply - to the processing of the instruction. type: string + description: Indicator of the urgency or order of importance that + the instructing party would like the instructed party to apply + to the processing of the instruction. enum: - - Normal - - Urgent + - Normal + - Urgent Purpose: - description: >- - Specifies the external purpose code in the format of - character string with a maximum length of 4 characters. - - The list of valid codes is an external code list published - separately. - - External code sets can be downloaded from www.iso20022.org. - type: string - minLength: 1 maxLength: 4 - ExtendedPurpose: - description: >- - Specifies the purpose of an international payment, when - there is no corresponding 4 character code available in the - ISO20022 list of Purpose Codes. - type: string minLength: 1 + type: string + description: |- + Specifies the external purpose code in the format of character string with a maximum length of 4 characters. + The list of valid codes is an external code list published separately. + External code sets can be downloaded from www.iso20022.org. + ExtendedPurpose: maxLength: 140 + minLength: 1 + type: string + description: Specifies the purpose of an international payment, + when there is no corresponding 4 character code available in the + ISO20022 list of Purpose Codes. ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' CurrencyOfTransfer: - description: >- - Specifies the currency of the to be transferred amount, - which is different from the currency of the debtor's - account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Specifies the currency of the to be transferred amount, + which is different from the currency of the debtor's account. DestinationCountryCode: - description: >- - Country in which Credit Account is domiciled. Code to - identify a country, a dependency, or another area of - particular geopolitical interest, on the basis of country - names obtained from the United Nations (ISO 3166, Alpha-2 - code). - type: string pattern: '[A-Z]{2,2}' + type: string + description: Country in which Credit Account is domiciled. Code + to identify a country, a dependency, or another area of particular + geopolitical interest, on the basis of country names obtained + from the United Nations (ISO 3166, Alpha-2 code). InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. ExchangeRateInformation: - type: object - additionalProperties: false required: - - UnitCurrency - - RateType - description: Provides details on the currency exchange rate and contract. + - RateType + - UnitCurrency + type: object properties: UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a - currency exchange. In the example 1GBP = xxxCUR, the - unit currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed + in a currency exchange. In the example 1GBP = xxxCUR, the + unit currency is GBP. ExchangeRate: - description: >- - The factor used for conversion of an amount from one - currency to another. This reflects the price at which - one currency was bought with another currency. type: number + description: The factor used for conversion of an amount from + one currency to another. This reflects the price at which + one currency was bought with another currency. RateType: - description: >- - Specifies the type used to complete the currency - exchange. type: string + description: Specifies the type used to complete the currency + exchange. enum: - - Actual - - Agreed - - Indicative + - Actual + - Agreed + - Indicative ContractIdentification: - description: >- - Unique and unambiguous reference to the foreign exchange - contract agreed between the initiating party/creditor - and the debtor agent. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Unique and unambiguous reference to the foreign + exchange contract agreed between the initiating party/creditor + and the debtor agent. + description: Provides details on the currency exchange rate and + contract. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. Creditor: type: object - additionalProperties: false - description: Party to which an amount of money is due. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string - minLength: 1 maxLength: 140 + minLength: 1 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Party to which an amount of money is due. CreditorAgent: type: object - additionalProperties: false - description: Financial institution servicing an account for the creditor. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Financial institution servicing an account for the + creditor. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single international payment. Risk: $ref: '#/components/schemas/OBRisk1' OBWriteInternationalConsent5: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - Initiation + - Initiation + type: object properties: ReadRefundAccount: - description: Specifies to share the refund account details with PISP type: string + description: Specifies to share the refund account details with PISP enum: - - 'No' - - 'Yes' + - No + - Yes Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - EndToEndIdentification - - CurrencyOfTransfer - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single international payment. + - CreditorAccount + - CurrencyOfTransfer + - EndToEndIdentification + - InstructedAmount + - InstructionIdentification + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' InstructionPriority: - description: >- - Indicator of the urgency or order of importance that the - instructing party would like the instructed party to apply - to the processing of the instruction. type: string + description: Indicator of the urgency or order of importance that + the instructing party would like the instructed party to apply + to the processing of the instruction. enum: - - Normal - - Urgent + - Normal + - Urgent Purpose: - description: >- - Specifies the external purpose code in the format of - character string with a maximum length of 4 characters. - - The list of valid codes is an external code list published - separately. - - External code sets can be downloaded from www.iso20022.org. - type: string - minLength: 1 maxLength: 4 - ExtendedPurpose: - description: >- - Specifies the purpose of an international payment, when - there is no corresponding 4 character code available in the - ISO20022 list of Purpose Codes. - type: string minLength: 1 + type: string + description: |- + Specifies the external purpose code in the format of character string with a maximum length of 4 characters. + The list of valid codes is an external code list published separately. + External code sets can be downloaded from www.iso20022.org. + ExtendedPurpose: maxLength: 140 + minLength: 1 + type: string + description: Specifies the purpose of an international payment, + when there is no corresponding 4 character code available in the + ISO20022 list of Purpose Codes. ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' CurrencyOfTransfer: - description: >- - Specifies the currency of the to be transferred amount, - which is different from the currency of the debtor's - account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Specifies the currency of the to be transferred amount, + which is different from the currency of the debtor's account. DestinationCountryCode: - description: >- - Country in which Credit Account is domiciled. Code to - identify a country, a dependency, or another area of - particular geopolitical interest, on the basis of country - names obtained from the United Nations (ISO 3166, Alpha-2 - code). - type: string pattern: '[A-Z]{2,2}' + type: string + description: Country in which Credit Account is domiciled. Code + to identify a country, a dependency, or another area of particular + geopolitical interest, on the basis of country names obtained + from the United Nations (ISO 3166, Alpha-2 code). InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. ExchangeRateInformation: - type: object - additionalProperties: false required: - - UnitCurrency - - RateType - description: Provides details on the currency exchange rate and contract. + - RateType + - UnitCurrency + type: object properties: UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a - currency exchange. In the example 1GBP = xxxCUR, the - unit currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed + in a currency exchange. In the example 1GBP = xxxCUR, the + unit currency is GBP. ExchangeRate: - description: >- - The factor used for conversion of an amount from one - currency to another. This reflects the price at which - one currency was bought with another currency. type: number + description: The factor used for conversion of an amount from + one currency to another. This reflects the price at which + one currency was bought with another currency. RateType: - description: >- - Specifies the type used to complete the currency - exchange. type: string + description: Specifies the type used to complete the currency + exchange. enum: - - Actual - - Agreed - - Indicative + - Actual + - Agreed + - Indicative ContractIdentification: - description: >- - Unique and unambiguous reference to the foreign exchange - contract agreed between the initiating party/creditor - and the debtor agent. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Unique and unambiguous reference to the foreign + exchange contract agreed between the initiating party/creditor + and the debtor agent. + description: Provides details on the currency exchange rate and + contract. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. Creditor: type: object - additionalProperties: false - description: Party to which an amount of money is due. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string - minLength: 1 maxLength: 140 + minLength: 1 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Party to which an amount of money is due. CreditorAgent: type: object - additionalProperties: false - description: Financial institution servicing an account for the creditor. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Financial institution servicing an account for the + creditor. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single international payment. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Risk: $ref: '#/components/schemas/OBRisk1' OBWriteInternationalConsentResponse6: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Initiation + - ConsentId + - CreationDateTime + - Initiation + - Status + - StatusUpdateDateTime + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the resource was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of consent resource in code form. type: string + description: Specifies the status of consent resource in code form. enum: - - Authorised - - AwaitingAuthorisation - - Consumed - - Rejected + - Authorised + - AwaitingAuthorisation + - Consumed + - Rejected StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ReadRefundAccount: - description: Specifies to share the refund account details with PISP type: string + description: Specifies to share the refund account details with PISP enum: - - 'No' - - 'Yes' + - No + - Yes CutOffDateTime: - description: >- - Specified cut-off date and time for the payment consent.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified cut-off date and time for the payment consent.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedExecutionDateTime: - description: >- - Expected execution date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected execution date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedSettlementDateTime: - description: >- - Expected settlement date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected settlement date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -8565,406 +11652,307 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. ExchangeRateInformation: - type: object - additionalProperties: false required: - - UnitCurrency - - ExchangeRate - - RateType - description: >- - Further detailed information on the exchange rate that has been - used in the payment transaction. + - ExchangeRate + - RateType + - UnitCurrency + type: object properties: UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a - currency exchange. In the example 1GBP = xxxCUR, the unit - currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed + in a currency exchange. In the example 1GBP = xxxCUR, the unit + currency is GBP. ExchangeRate: - description: >- - The factor used for conversion of an amount from one - currency to another. This reflects the price at which one - currency was bought with another currency. type: number + description: The factor used for conversion of an amount from one + currency to another. This reflects the price at which one currency + was bought with another currency. RateType: - description: Specifies the type used to complete the currency exchange. type: string + description: Specifies the type used to complete the currency exchange. enum: - - Actual - - Agreed - - Indicative + - Actual + - Agreed + - Indicative ContractIdentification: - description: >- - Unique and unambiguous reference to the foreign exchange - contract agreed between the initiating party/creditor and - the debtor agent. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Unique and unambiguous reference to the foreign exchange + contract agreed between the initiating party/creditor and the + debtor agent. ExpirationDateTime: - description: >- - Specified date and time the exchange rate agreement will - expire.All dates in the JSON payloads are represented in ISO - 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified date and time the exchange rate agreement\ + \ will expire.All dates in the JSON payloads are represented in\ + \ ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: Further detailed information on the exchange rate that + has been used in the payment transaction. Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - EndToEndIdentification - - CurrencyOfTransfer - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single international payment. + - CreditorAccount + - CurrencyOfTransfer + - EndToEndIdentification + - InstructedAmount + - InstructionIdentification + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' InstructionPriority: - description: >- - Indicator of the urgency or order of importance that the - instructing party would like the instructed party to apply - to the processing of the instruction. type: string + description: Indicator of the urgency or order of importance that + the instructing party would like the instructed party to apply + to the processing of the instruction. enum: - - Normal - - Urgent + - Normal + - Urgent Purpose: - description: >- - Specifies the external purpose code in the format of - character string with a maximum length of 4 characters. - - The list of valid codes is an external code list published - separately. - - External code sets can be downloaded from www.iso20022.org. - type: string - minLength: 1 maxLength: 4 - ExtendedPurpose: - description: >- - Specifies the purpose of an international payment, when - there is no corresponding 4 character code available in the - ISO20022 list of Purpose Codes. - type: string minLength: 1 + type: string + description: |- + Specifies the external purpose code in the format of character string with a maximum length of 4 characters. + The list of valid codes is an external code list published separately. + External code sets can be downloaded from www.iso20022.org. + ExtendedPurpose: maxLength: 140 + minLength: 1 + type: string + description: Specifies the purpose of an international payment, + when there is no corresponding 4 character code available in the + ISO20022 list of Purpose Codes. ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' CurrencyOfTransfer: - description: >- - Specifies the currency of the to be transferred amount, - which is different from the currency of the debtor's - account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Specifies the currency of the to be transferred amount, + which is different from the currency of the debtor's account. DestinationCountryCode: - description: >- - Country in which Credit Account is domiciled. Code to - identify a country, a dependency, or another area of - particular geopolitical interest, on the basis of country - names obtained from the United Nations (ISO 3166, Alpha-2 - code). - type: string pattern: '[A-Z]{2,2}' + type: string + description: Country in which Credit Account is domiciled. Code + to identify a country, a dependency, or another area of particular + geopolitical interest, on the basis of country names obtained + from the United Nations (ISO 3166, Alpha-2 code). InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. ExchangeRateInformation: - type: object - additionalProperties: false required: - - UnitCurrency - - RateType - description: Provides details on the currency exchange rate and contract. + - RateType + - UnitCurrency + type: object properties: UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a - currency exchange. In the example 1GBP = xxxCUR, the - unit currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed + in a currency exchange. In the example 1GBP = xxxCUR, the + unit currency is GBP. ExchangeRate: - description: >- - The factor used for conversion of an amount from one - currency to another. This reflects the price at which - one currency was bought with another currency. type: number + description: The factor used for conversion of an amount from + one currency to another. This reflects the price at which + one currency was bought with another currency. RateType: - description: >- - Specifies the type used to complete the currency - exchange. type: string + description: Specifies the type used to complete the currency + exchange. enum: - - Actual - - Agreed - - Indicative + - Actual + - Agreed + - Indicative ContractIdentification: - description: >- - Unique and unambiguous reference to the foreign exchange - contract agreed between the initiating party/creditor - and the debtor agent. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Unique and unambiguous reference to the foreign + exchange contract agreed between the initiating party/creditor + and the debtor agent. + description: Provides details on the currency exchange rate and + contract. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. Creditor: type: object - additionalProperties: false - description: Party to which an amount of money is due. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string - minLength: 1 maxLength: 140 + minLength: 1 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Party to which an amount of money is due. CreditorAgent: type: object - additionalProperties: false - description: Financial institution servicing an account for the creditor. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Financial institution servicing an account for the + creditor. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single international payment. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Risk: @@ -8974,175 +11962,130 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteInternationalResponse5: - type: object - additionalProperties: false required: - - Data + - Data + type: object properties: Data: - type: object - additionalProperties: false required: - - InternationalPaymentId - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Initiation + - ConsentId + - CreationDateTime + - Initiation + - InternationalPaymentId + - Status + - StatusUpdateDateTime + type: object properties: InternationalPaymentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the international payment resource. - type: string - minLength: 1 maxLength: 40 - ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the international payment resource.' + ConsentId: maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the message was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the message was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of the payment information group. type: string + description: Specifies the status of the payment information group. enum: - - AcceptedCreditSettlementCompleted - - AcceptedSettlementCompleted - - AcceptedSettlementInProcess - - AcceptedWithoutPosting - - Pending - - Rejected + - AcceptedCreditSettlementCompleted + - AcceptedSettlementCompleted + - AcceptedSettlementInProcess + - AcceptedWithoutPosting + - Pending + - Rejected StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedExecutionDateTime: - description: >- - Expected execution date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected execution date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedSettlementDateTime: - description: >- - Expected settlement date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected settlement date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Refund: - type: object - additionalProperties: false required: - - Account + - Account + type: object properties: Creditor: type: object - additionalProperties: false - description: >- - Set of elements used to identify a person or an - organisation. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string - minLength: 1 maxLength: 140 + minLength: 1 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Set of elements used to identify a person or an organisation. Agent: type: object - additionalProperties: false - description: >- - Set of elements used to uniquely and unambiguously identify - a financial institution or a branch of a financial - institution. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Set of elements used to uniquely and unambiguously + identify a financial institution or a branch of a financial institution. Account: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: Provides the details to identify an account. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - Name of the account, as assigned by the account - servicing institution. - - Usage: The account name is the name or names of the - account owner(s) represented at an account level. The - account name is not the product name or the nickname of - the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + Name of the account, as assigned by the account servicing institution. + Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify an account. Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -9150,386 +12093,292 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. ExchangeRateInformation: - type: object - additionalProperties: false required: - - UnitCurrency - - ExchangeRate - - RateType - description: >- - Further detailed information on the exchange rate that has been - used in the payment transaction. + - ExchangeRate + - RateType + - UnitCurrency + type: object properties: UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a - currency exchange. In the example 1GBP = xxxCUR, the unit - currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed + in a currency exchange. In the example 1GBP = xxxCUR, the unit + currency is GBP. ExchangeRate: - description: >- - The factor used for conversion of an amount from one - currency to another. This reflects the price at which one - currency was bought with another currency. type: number + description: The factor used for conversion of an amount from one + currency to another. This reflects the price at which one currency + was bought with another currency. RateType: - description: Specifies the type used to complete the currency exchange. type: string + description: Specifies the type used to complete the currency exchange. enum: - - Actual - - Agreed - - Indicative + - Actual + - Agreed + - Indicative ContractIdentification: - description: >- - Unique and unambiguous reference to the foreign exchange - contract agreed between the initiating party/creditor and - the debtor agent. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Unique and unambiguous reference to the foreign exchange + contract agreed between the initiating party/creditor and the + debtor agent. ExpirationDateTime: - description: >- - Specified date and time the exchange rate agreement will - expire.All dates in the JSON payloads are represented in ISO - 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified date and time the exchange rate agreement\ + \ will expire.All dates in the JSON payloads are represented in\ + \ ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: Further detailed information on the exchange rate that + has been used in the payment transaction. Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - EndToEndIdentification - - CurrencyOfTransfer - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single international payment. + - CreditorAccount + - CurrencyOfTransfer + - EndToEndIdentification + - InstructedAmount + - InstructionIdentification + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' InstructionPriority: - description: >- - Indicator of the urgency or order of importance that the - instructing party would like the instructed party to apply - to the processing of the instruction. type: string + description: Indicator of the urgency or order of importance that + the instructing party would like the instructed party to apply + to the processing of the instruction. enum: - - Normal - - Urgent + - Normal + - Urgent Purpose: - description: >- - Specifies the external purpose code in the format of - character string with a maximum length of 4 characters. - - The list of valid codes is an external code list published - separately. - - External code sets can be downloaded from www.iso20022.org. - type: string - minLength: 1 maxLength: 4 - ExtendedPurpose: - description: >- - Specifies the purpose of an international payment, when - there is no corresponding 4 character code available in the - ISO20022 list of Purpose Codes. - type: string minLength: 1 + type: string + description: |- + Specifies the external purpose code in the format of character string with a maximum length of 4 characters. + The list of valid codes is an external code list published separately. + External code sets can be downloaded from www.iso20022.org. + ExtendedPurpose: maxLength: 140 + minLength: 1 + type: string + description: Specifies the purpose of an international payment, + when there is no corresponding 4 character code available in the + ISO20022 list of Purpose Codes. ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' CurrencyOfTransfer: - description: >- - Specifies the currency of the to be transferred amount, - which is different from the currency of the debtor's - account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Specifies the currency of the to be transferred amount, + which is different from the currency of the debtor's account. DestinationCountryCode: - description: >- - Country in which Credit Account is domiciled. Code to - identify a country, a dependency, or another area of - particular geopolitical interest, on the basis of country - names obtained from the United Nations (ISO 3166, Alpha-2 - code). - type: string pattern: '[A-Z]{2,2}' + type: string + description: Country in which Credit Account is domiciled. Code + to identify a country, a dependency, or another area of particular + geopolitical interest, on the basis of country names obtained + from the United Nations (ISO 3166, Alpha-2 code). InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. ExchangeRateInformation: - type: object - additionalProperties: false required: - - UnitCurrency - - RateType - description: Provides details on the currency exchange rate and contract. + - RateType + - UnitCurrency + type: object properties: UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a - currency exchange. In the example 1GBP = xxxCUR, the - unit currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed + in a currency exchange. In the example 1GBP = xxxCUR, the + unit currency is GBP. ExchangeRate: - description: >- - The factor used for conversion of an amount from one - currency to another. This reflects the price at which - one currency was bought with another currency. type: number + description: The factor used for conversion of an amount from + one currency to another. This reflects the price at which + one currency was bought with another currency. RateType: - description: >- - Specifies the type used to complete the currency - exchange. type: string + description: Specifies the type used to complete the currency + exchange. enum: - - Actual - - Agreed - - Indicative + - Actual + - Agreed + - Indicative ContractIdentification: - description: >- - Unique and unambiguous reference to the foreign exchange - contract agreed between the initiating party/creditor - and the debtor agent. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Unique and unambiguous reference to the foreign + exchange contract agreed between the initiating party/creditor + and the debtor agent. + description: Provides details on the currency exchange rate and + contract. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. Creditor: type: object - additionalProperties: false - description: Party to which an amount of money is due. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string - minLength: 1 maxLength: 140 + minLength: 1 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Party to which an amount of money is due. CreditorAgent: type: object - additionalProperties: false - description: Financial institution servicing an account for the creditor. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Financial institution servicing an account for the + creditor. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single international payment. MultiAuthorisation: - type: object - additionalProperties: false required: - - Status - description: The multiple authorisation flow response from the ASPSP. + - Status + type: object properties: Status: - description: Specifies the status of the authorisation flow in code form. type: string + description: Specifies the status of the authorisation flow in code + form. enum: - - Authorised - - AwaitingFurtherAuthorisation - - Rejected + - Authorised + - AwaitingFurtherAuthorisation + - Rejected NumberRequired: - description: >- - Number of authorisations required for payment order (total - required at the start of the multi authorisation journey). type: integer + description: Number of authorisations required for payment order + (total required at the start of the multi authorisation journey). NumberReceived: - description: Number of authorisations received. type: integer + description: Number of authorisations received. LastUpdateDateTime: - description: >- - Last date and time at the authorisation flow was updated.All - dates in the JSON payloads are represented in ISO 8601 - date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Last date and time at the authorisation flow was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the\ + \ timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpirationDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The multiple authorisation flow response from the ASPSP. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Links: @@ -9537,834 +12386,618 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteInternationalScheduled3: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - Initiation + - ConsentId + - Initiation + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - RequestedExecutionDateTime - - CurrencyOfTransfer - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single scheduled international - payment. + - CreditorAccount + - CurrencyOfTransfer + - InstructedAmount + - InstructionIdentification + - RequestedExecutionDateTime + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' InstructionPriority: - description: >- - Indicator of the urgency or order of importance that the - instructing party would like the instructed party to apply - to the processing of the instruction. type: string + description: Indicator of the urgency or order of importance that + the instructing party would like the instructed party to apply + to the processing of the instruction. enum: - - Normal - - Urgent + - Normal + - Urgent Purpose: - description: >- - Specifies the external purpose code in the format of - character string with a maximum length of 4 characters. - - The list of valid codes is an external code list published - separately. - - External code sets can be downloaded from www.iso20022.org. - type: string - minLength: 1 maxLength: 4 - ExtendedPurpose: - description: >- - Specifies the purpose of an international payment, when - there is no corresponding 4 character code available in the - ISO20022 list of Purpose Codes. - type: string minLength: 1 + type: string + description: |- + Specifies the external purpose code in the format of character string with a maximum length of 4 characters. + The list of valid codes is an external code list published separately. + External code sets can be downloaded from www.iso20022.org. + ExtendedPurpose: maxLength: 140 + minLength: 1 + type: string + description: Specifies the purpose of an international payment, + when there is no corresponding 4 character code available in the + ISO20022 list of Purpose Codes. ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' RequestedExecutionDateTime: - description: >- - Date at which the initiating party requests the clearing - agent to process the payment. - - Usage: This is the date on which the debtor's account is to - be debited.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date at which the initiating party requests the clearing\ + \ agent to process the payment. \nUsage: This is the date on which\ + \ the debtor's account is to be debited.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time CurrencyOfTransfer: - description: >- - Specifies the currency of the to be transferred amount, - which is different from the currency of the debtor's - account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Specifies the currency of the to be transferred amount, + which is different from the currency of the debtor's account. DestinationCountryCode: - description: >- - Country in which Credit Account is domiciled. Code to - identify a country, a dependency, or another area of - particular geopolitical interest, on the basis of country - names obtained from the United Nations (ISO 3166, Alpha-2 - code). - type: string pattern: '[A-Z]{2,2}' + type: string + description: Country in which Credit Account is domiciled. Code + to identify a country, a dependency, or another area of particular + geopolitical interest, on the basis of country names obtained + from the United Nations (ISO 3166, Alpha-2 code). InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. ExchangeRateInformation: - type: object - additionalProperties: false required: - - UnitCurrency - - RateType - description: Provides details on the currency exchange rate and contract. + - RateType + - UnitCurrency + type: object properties: UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a - currency exchange. In the example 1GBP = xxxCUR, the - unit currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed + in a currency exchange. In the example 1GBP = xxxCUR, the + unit currency is GBP. ExchangeRate: - description: >- - The factor used for conversion of an amount from one - currency to another. This reflects the price at which - one currency was bought with another currency. type: number + description: The factor used for conversion of an amount from + one currency to another. This reflects the price at which + one currency was bought with another currency. RateType: - description: >- - Specifies the type used to complete the currency - exchange. type: string + description: Specifies the type used to complete the currency + exchange. enum: - - Actual - - Agreed - - Indicative + - Actual + - Agreed + - Indicative ContractIdentification: - description: >- - Unique and unambiguous reference to the foreign exchange - contract agreed between the initiating party/creditor - and the debtor agent. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Unique and unambiguous reference to the foreign + exchange contract agreed between the initiating party/creditor + and the debtor agent. + description: Provides details on the currency exchange rate and + contract. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. Creditor: type: object - additionalProperties: false - description: Party to which an amount of money is due. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string - minLength: 1 maxLength: 140 + minLength: 1 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Party to which an amount of money is due. CreditorAgent: type: object - additionalProperties: false - description: Financial institution servicing an account for the creditor. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Financial institution servicing an account for the + creditor. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single scheduled international payment. Risk: $ref: '#/components/schemas/OBRisk1' OBWriteInternationalScheduledConsent5: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - Permission - - Initiation + - Initiation + - Permission + type: object properties: Permission: - description: Specifies the Open Banking service request types. type: string + description: Specifies the Open Banking service request types. enum: - - Create + - Create ReadRefundAccount: - description: Specifies to share the refund account details with PISP type: string + description: Specifies to share the refund account details with PISP enum: - - 'No' - - 'Yes' + - No + - Yes Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - RequestedExecutionDateTime - - CurrencyOfTransfer - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single scheduled international - payment. + - CreditorAccount + - CurrencyOfTransfer + - InstructedAmount + - InstructionIdentification + - RequestedExecutionDateTime + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' InstructionPriority: - description: >- - Indicator of the urgency or order of importance that the - instructing party would like the instructed party to apply - to the processing of the instruction. type: string + description: Indicator of the urgency or order of importance that + the instructing party would like the instructed party to apply + to the processing of the instruction. enum: - - Normal - - Urgent + - Normal + - Urgent Purpose: - description: >- - Specifies the external purpose code in the format of - character string with a maximum length of 4 characters. - - The list of valid codes is an external code list published - separately. - - External code sets can be downloaded from www.iso20022.org. - type: string - minLength: 1 maxLength: 4 - ExtendedPurpose: - description: >- - Specifies the purpose of an international payment, when - there is no corresponding 4 character code available in the - ISO20022 list of Purpose Codes. - type: string minLength: 1 + type: string + description: |- + Specifies the external purpose code in the format of character string with a maximum length of 4 characters. + The list of valid codes is an external code list published separately. + External code sets can be downloaded from www.iso20022.org. + ExtendedPurpose: maxLength: 140 + minLength: 1 + type: string + description: Specifies the purpose of an international payment, + when there is no corresponding 4 character code available in the + ISO20022 list of Purpose Codes. ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' RequestedExecutionDateTime: - description: >- - Date at which the initiating party requests the clearing - agent to process the payment. - - Usage: This is the date on which the debtor's account is to - be debited.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date at which the initiating party requests the clearing\ + \ agent to process the payment. \nUsage: This is the date on which\ + \ the debtor's account is to be debited.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time CurrencyOfTransfer: - description: >- - Specifies the currency of the to be transferred amount, - which is different from the currency of the debtor's - account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Specifies the currency of the to be transferred amount, + which is different from the currency of the debtor's account. DestinationCountryCode: - description: >- - Country in which Credit Account is domiciled. Code to - identify a country, a dependency, or another area of - particular geopolitical interest, on the basis of country - names obtained from the United Nations (ISO 3166, Alpha-2 - code). - type: string pattern: '[A-Z]{2,2}' + type: string + description: Country in which Credit Account is domiciled. Code + to identify a country, a dependency, or another area of particular + geopolitical interest, on the basis of country names obtained + from the United Nations (ISO 3166, Alpha-2 code). InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. ExchangeRateInformation: - type: object - additionalProperties: false required: - - UnitCurrency - - RateType - description: Provides details on the currency exchange rate and contract. + - RateType + - UnitCurrency + type: object properties: UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a - currency exchange. In the example 1GBP = xxxCUR, the - unit currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed + in a currency exchange. In the example 1GBP = xxxCUR, the + unit currency is GBP. ExchangeRate: - description: >- - The factor used for conversion of an amount from one - currency to another. This reflects the price at which - one currency was bought with another currency. type: number + description: The factor used for conversion of an amount from + one currency to another. This reflects the price at which + one currency was bought with another currency. RateType: - description: >- - Specifies the type used to complete the currency - exchange. type: string + description: Specifies the type used to complete the currency + exchange. enum: - - Actual - - Agreed - - Indicative + - Actual + - Agreed + - Indicative ContractIdentification: - description: >- - Unique and unambiguous reference to the foreign exchange - contract agreed between the initiating party/creditor - and the debtor agent. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Unique and unambiguous reference to the foreign + exchange contract agreed between the initiating party/creditor + and the debtor agent. + description: Provides details on the currency exchange rate and + contract. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. Creditor: type: object - additionalProperties: false - description: Party to which an amount of money is due. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string - minLength: 1 maxLength: 140 + minLength: 1 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Party to which an amount of money is due. CreditorAgent: type: object - additionalProperties: false - description: Financial institution servicing an account for the creditor. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Financial institution servicing an account for the + creditor. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single scheduled international payment. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Risk: $ref: '#/components/schemas/OBRisk1' OBWriteInternationalScheduledConsentResponse6: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Permission - - Initiation + - ConsentId + - CreationDateTime + - Initiation + - Permission + - Status + - StatusUpdateDateTime + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the resource was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of consent resource in code form. type: string + description: Specifies the status of consent resource in code form. enum: - - Authorised - - AwaitingAuthorisation - - Consumed - - Rejected + - Authorised + - AwaitingAuthorisation + - Consumed + - Rejected StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Permission: - description: Specifies the Open Banking service request types. type: string + description: Specifies the Open Banking service request types. enum: - - Create + - Create ReadRefundAccount: - description: Specifies to share the refund account details with PISP type: string + description: Specifies to share the refund account details with PISP enum: - - 'No' - - 'Yes' + - No + - Yes CutOffDateTime: - description: >- - Specified cut-off date and time for the payment consent.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified cut-off date and time for the payment consent.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedExecutionDateTime: - description: >- - Expected execution date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected execution date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedSettlementDateTime: - description: >- - Expected settlement date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected settlement date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -10372,422 +13005,316 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. ExchangeRateInformation: - type: object - additionalProperties: false required: - - UnitCurrency - - ExchangeRate - - RateType - description: >- - Further detailed information on the exchange rate that has been - used in the payment transaction. + - ExchangeRate + - RateType + - UnitCurrency + type: object properties: UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a - currency exchange. In the example 1GBP = xxxCUR, the unit - currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed + in a currency exchange. In the example 1GBP = xxxCUR, the unit + currency is GBP. ExchangeRate: - description: >- - The factor used for conversion of an amount from one - currency to another. This reflects the price at which one - currency was bought with another currency. type: number + description: The factor used for conversion of an amount from one + currency to another. This reflects the price at which one currency + was bought with another currency. RateType: - description: Specifies the type used to complete the currency exchange. type: string + description: Specifies the type used to complete the currency exchange. enum: - - Actual - - Agreed - - Indicative + - Actual + - Agreed + - Indicative ContractIdentification: - description: >- - Unique and unambiguous reference to the foreign exchange - contract agreed between the initiating party/creditor and - the debtor agent. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Unique and unambiguous reference to the foreign exchange + contract agreed between the initiating party/creditor and the + debtor agent. ExpirationDateTime: - description: >- - Specified date and time the exchange rate agreement will - expire.All dates in the JSON payloads are represented in ISO - 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified date and time the exchange rate agreement\ + \ will expire.All dates in the JSON payloads are represented in\ + \ ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: Further detailed information on the exchange rate that + has been used in the payment transaction. Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - RequestedExecutionDateTime - - CurrencyOfTransfer - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single scheduled international - payment. + - CreditorAccount + - CurrencyOfTransfer + - InstructedAmount + - InstructionIdentification + - RequestedExecutionDateTime + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' InstructionPriority: - description: >- - Indicator of the urgency or order of importance that the - instructing party would like the instructed party to apply - to the processing of the instruction. type: string + description: Indicator of the urgency or order of importance that + the instructing party would like the instructed party to apply + to the processing of the instruction. enum: - - Normal - - Urgent + - Normal + - Urgent Purpose: - description: >- - Specifies the external purpose code in the format of - character string with a maximum length of 4 characters. - - The list of valid codes is an external code list published - separately. - - External code sets can be downloaded from www.iso20022.org. - type: string - minLength: 1 maxLength: 4 - ExtendedPurpose: - description: >- - Specifies the purpose of an international payment, when - there is no corresponding 4 character code available in the - ISO20022 list of Purpose Codes. - type: string minLength: 1 + type: string + description: |- + Specifies the external purpose code in the format of character string with a maximum length of 4 characters. + The list of valid codes is an external code list published separately. + External code sets can be downloaded from www.iso20022.org. + ExtendedPurpose: maxLength: 140 + minLength: 1 + type: string + description: Specifies the purpose of an international payment, + when there is no corresponding 4 character code available in the + ISO20022 list of Purpose Codes. ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' RequestedExecutionDateTime: - description: >- - Date at which the initiating party requests the clearing - agent to process the payment. - - Usage: This is the date on which the debtor's account is to - be debited.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date at which the initiating party requests the clearing\ + \ agent to process the payment. \nUsage: This is the date on which\ + \ the debtor's account is to be debited.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time CurrencyOfTransfer: - description: >- - Specifies the currency of the to be transferred amount, - which is different from the currency of the debtor's - account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Specifies the currency of the to be transferred amount, + which is different from the currency of the debtor's account. DestinationCountryCode: - description: >- - Country in which Credit Account is domiciled. Code to - identify a country, a dependency, or another area of - particular geopolitical interest, on the basis of country - names obtained from the United Nations (ISO 3166, Alpha-2 - code). - type: string pattern: '[A-Z]{2,2}' + type: string + description: Country in which Credit Account is domiciled. Code + to identify a country, a dependency, or another area of particular + geopolitical interest, on the basis of country names obtained + from the United Nations (ISO 3166, Alpha-2 code). InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. ExchangeRateInformation: - type: object - additionalProperties: false required: - - UnitCurrency - - RateType - description: Provides details on the currency exchange rate and contract. + - RateType + - UnitCurrency + type: object properties: UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a - currency exchange. In the example 1GBP = xxxCUR, the - unit currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed + in a currency exchange. In the example 1GBP = xxxCUR, the + unit currency is GBP. ExchangeRate: - description: >- - The factor used for conversion of an amount from one - currency to another. This reflects the price at which - one currency was bought with another currency. type: number + description: The factor used for conversion of an amount from + one currency to another. This reflects the price at which + one currency was bought with another currency. RateType: - description: >- - Specifies the type used to complete the currency - exchange. type: string + description: Specifies the type used to complete the currency + exchange. enum: - - Actual - - Agreed - - Indicative + - Actual + - Agreed + - Indicative ContractIdentification: - description: >- - Unique and unambiguous reference to the foreign exchange - contract agreed between the initiating party/creditor - and the debtor agent. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Unique and unambiguous reference to the foreign + exchange contract agreed between the initiating party/creditor + and the debtor agent. + description: Provides details on the currency exchange rate and + contract. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. Creditor: type: object - additionalProperties: false - description: Party to which an amount of money is due. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string + maxLength: 350 minLength: 1 - maxLength: 140 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Party to which an amount of money is due. CreditorAgent: type: object - additionalProperties: false - description: Financial institution servicing an account for the creditor. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Financial institution servicing an account for the + creditor. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single scheduled international payment. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Risk: @@ -10797,173 +13324,128 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteInternationalScheduledResponse6: - type: object - additionalProperties: false required: - - Data + - Data + type: object properties: Data: - type: object - additionalProperties: false required: - - InternationalScheduledPaymentId - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Initiation + - ConsentId + - CreationDateTime + - Initiation + - InternationalScheduledPaymentId + - Status + - StatusUpdateDateTime + type: object properties: InternationalScheduledPaymentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the international scheduled payment resource. - type: string - minLength: 1 maxLength: 40 - ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the international scheduled payment resource.' + ConsentId: maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the message was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the message was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of the payment order resource. type: string + description: Specifies the status of the payment order resource. enum: - - Cancelled - - InitiationCompleted - - InitiationFailed - - InitiationPending + - Cancelled + - InitiationCompleted + - InitiationFailed + - InitiationPending StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedExecutionDateTime: - description: >- - Expected execution date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected execution date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpectedSettlementDateTime: - description: >- - Expected settlement date and time for the payment resource.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Expected settlement date and time for the payment resource.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Refund: - type: object - additionalProperties: false required: - - Account + - Account + type: object properties: Creditor: type: object - additionalProperties: false - description: >- - Set of elements used to identify a person or an - organisation. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string - minLength: 1 maxLength: 140 + minLength: 1 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Set of elements used to identify a person or an organisation. Agent: type: object - additionalProperties: false - description: >- - Set of elements used to uniquely and unambiguously identify - a financial institution or a branch of a financial - institution. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Set of elements used to uniquely and unambiguously + identify a financial institution or a branch of a financial institution. Account: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: Provides the details to identify an account. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - Name of the account, as assigned by the account - servicing institution. - - Usage: The account name is the name or names of the - account owner(s) represented at an account level. The - account name is not the product name or the nickname of - the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + Name of the account, as assigned by the account servicing institution. + Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify an account. Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -10971,402 +13453,301 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. ExchangeRateInformation: - type: object - additionalProperties: false required: - - UnitCurrency - - ExchangeRate - - RateType - description: >- - Further detailed information on the exchange rate that has been - used in the payment transaction. + - ExchangeRate + - RateType + - UnitCurrency + type: object properties: UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a - currency exchange. In the example 1GBP = xxxCUR, the unit - currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed + in a currency exchange. In the example 1GBP = xxxCUR, the unit + currency is GBP. ExchangeRate: - description: >- - The factor used for conversion of an amount from one - currency to another. This reflects the price at which one - currency was bought with another currency. type: number + description: The factor used for conversion of an amount from one + currency to another. This reflects the price at which one currency + was bought with another currency. RateType: - description: Specifies the type used to complete the currency exchange. type: string + description: Specifies the type used to complete the currency exchange. enum: - - Actual - - Agreed - - Indicative + - Actual + - Agreed + - Indicative ContractIdentification: - description: >- - Unique and unambiguous reference to the foreign exchange - contract agreed between the initiating party/creditor and - the debtor agent. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Unique and unambiguous reference to the foreign exchange + contract agreed between the initiating party/creditor and the + debtor agent. ExpirationDateTime: - description: >- - Specified date and time the exchange rate agreement will - expire.All dates in the JSON payloads are represented in ISO - 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified date and time the exchange rate agreement\ + \ will expire.All dates in the JSON payloads are represented in\ + \ ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: Further detailed information on the exchange rate that + has been used in the payment transaction. Initiation: - type: object - additionalProperties: false required: - - InstructionIdentification - - RequestedExecutionDateTime - - CurrencyOfTransfer - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for a single scheduled international - payment. + - CreditorAccount + - CurrencyOfTransfer + - InstructedAmount + - InstructionIdentification + - RequestedExecutionDateTime + type: object properties: InstructionIdentification: - description: >- - Unique identification as assigned by an instructing party - for an instructed party to unambiguously identify the - instruction. - - Usage: the instruction identification is a point to point - reference that can be used between the instructing party and - the instructed party to refer to the individual instruction. - It can be included in several messages related to the - instruction. - type: string - minLength: 1 maxLength: 35 - EndToEndIdentification: - description: >- - Unique identification assigned by the initiating party to - unambiguously identify the transaction. This identification - is passed on, unchanged, throughout the entire end-to-end - chain. - - Usage: The end-to-end identification can be used for - reconciliation or to link tasks relating to the transaction. - It can be included in several messages related to the - transaction. - - OB: The Faster Payments Scheme can only access 31 characters - for the EndToEndIdentification field. - type: string minLength: 1 + type: string + description: |- + Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. + Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. + EndToEndIdentification: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. + Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. + OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' InstructionPriority: - description: >- - Indicator of the urgency or order of importance that the - instructing party would like the instructed party to apply - to the processing of the instruction. type: string + description: Indicator of the urgency or order of importance that + the instructing party would like the instructed party to apply + to the processing of the instruction. enum: - - Normal - - Urgent + - Normal + - Urgent Purpose: - description: >- - Specifies the external purpose code in the format of - character string with a maximum length of 4 characters. - - The list of valid codes is an external code list published - separately. - - External code sets can be downloaded from www.iso20022.org. - type: string - minLength: 1 maxLength: 4 - ExtendedPurpose: - description: >- - Specifies the purpose of an international payment, when - there is no corresponding 4 character code available in the - ISO20022 list of Purpose Codes. - type: string minLength: 1 + type: string + description: |- + Specifies the external purpose code in the format of character string with a maximum length of 4 characters. + The list of valid codes is an external code list published separately. + External code sets can be downloaded from www.iso20022.org. + ExtendedPurpose: maxLength: 140 + minLength: 1 + type: string + description: Specifies the purpose of an international payment, + when there is no corresponding 4 character code available in the + ISO20022 list of Purpose Codes. ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' RequestedExecutionDateTime: - description: >- - Date at which the initiating party requests the clearing - agent to process the payment. - - Usage: This is the date on which the debtor's account is to - be debited.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date at which the initiating party requests the clearing\ + \ agent to process the payment. \nUsage: This is the date on which\ + \ the debtor's account is to be debited.All dates in the JSON\ + \ payloads are represented in ISO 8601 date-time format. \nAll\ + \ date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time CurrencyOfTransfer: - description: >- - Specifies the currency of the to be transferred amount, - which is different from the currency of the debtor's - account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Specifies the currency of the to be transferred amount, + which is different from the currency of the debtor's account. DestinationCountryCode: - description: >- - Country in which Credit Account is domiciled. Code to - identify a country, a dependency, or another area of - particular geopolitical interest, on the basis of country - names obtained from the United Nations (ISO 3166, Alpha-2 - code). - type: string pattern: '[A-Z]{2,2}' + type: string + description: Country in which Credit Account is domiciled. Code + to identify a country, a dependency, or another area of particular + geopolitical interest, on the basis of country names obtained + from the United Nations (ISO 3166, Alpha-2 code). InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. ExchangeRateInformation: - type: object - additionalProperties: false required: - - UnitCurrency - - RateType - description: Provides details on the currency exchange rate and contract. + - RateType + - UnitCurrency + type: object properties: UnitCurrency: - description: >- - Currency in which the rate of exchange is expressed in a - currency exchange. In the example 1GBP = xxxCUR, the - unit currency is GBP. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Currency in which the rate of exchange is expressed + in a currency exchange. In the example 1GBP = xxxCUR, the + unit currency is GBP. ExchangeRate: - description: >- - The factor used for conversion of an amount from one - currency to another. This reflects the price at which - one currency was bought with another currency. type: number + description: The factor used for conversion of an amount from + one currency to another. This reflects the price at which + one currency was bought with another currency. RateType: - description: >- - Specifies the type used to complete the currency - exchange. type: string + description: Specifies the type used to complete the currency + exchange. enum: - - Actual - - Agreed - - Indicative + - Actual + - Agreed + - Indicative ContractIdentification: - description: >- - Unique and unambiguous reference to the foreign exchange - contract agreed between the initiating party/creditor - and the debtor agent. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Unique and unambiguous reference to the foreign + exchange contract agreed between the initiating party/creditor + and the debtor agent. + description: Provides details on the currency exchange rate and + contract. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: >- - Unambiguous identification of the account of the debtor to - which a debit entry will be made as a result of the - transaction. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the debtor + to which a debit entry will be made as a result of the transaction. Creditor: type: object - additionalProperties: false - description: Party to which an amount of money is due. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string - minLength: 1 maxLength: 140 + minLength: 1 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Party to which an amount of money is due. CreditorAgent: type: object - additionalProperties: false - description: Financial institution servicing an account for the creditor. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Financial institution servicing an account for the + creditor. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: >- - Unambiguous identification of the account of the creditor to - which a credit entry will be posted as a result of the - payment transaction. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Unambiguous identification of the account of the creditor + to which a credit entry will be posted as a result of the payment + transaction. RemittanceInformation: type: object - additionalProperties: false - description: >- - Information supplied to enable the matching of an entry with - the items that the transfer is intended to settle, such as - commercial invoices in an accounts' receivable system. properties: Unstructured: - description: >- - Information supplied to enable the - matching/reconciliation of an entry with the items that - the payment is intended to settle, such as commercial - invoices in an accounts' receivable system, in an - unstructured form. - type: string - minLength: 1 maxLength: 140 - Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, - to enable reconciliation by the creditor upon receipt of - the amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only - one identifier can be passed through the end-to-end - chain, the creditor's reference or payment remittance - identification should be quoted in the end-to-end - transaction identification. - - OB: The Faster Payments Scheme can only accept 18 - characters for the ReferenceInformation field - which is - where this ISO field will be mapped. - type: string minLength: 1 + type: string + description: Information supplied to enable the matching/reconciliation + of an entry with the items that the payment is intended to + settle, such as commercial invoices in an accounts' receivable + system, in an unstructured form. + Reference: maxLength: 35 + minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + OB: The Faster Payments Scheme can only accept 18 characters for the ReferenceInformation field - which is where this ISO field will be mapped. + description: Information supplied to enable the matching of an entry + with the items that the transfer is intended to settle, such as + commercial invoices in an accounts' receivable system. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for a single scheduled international payment. MultiAuthorisation: - type: object - additionalProperties: false required: - - Status - description: The multiple authorisation flow response from the ASPSP. + - Status + type: object properties: Status: - description: Specifies the status of the authorisation flow in code form. type: string + description: Specifies the status of the authorisation flow in code + form. enum: - - Authorised - - AwaitingFurtherAuthorisation - - Rejected + - Authorised + - AwaitingFurtherAuthorisation + - Rejected NumberRequired: - description: >- - Number of authorisations required for payment order (total - required at the start of the multi authorisation journey). type: integer + description: Number of authorisations required for payment order + (total required at the start of the multi authorisation journey). NumberReceived: - description: Number of authorisations received. type: integer + description: Number of authorisations received. LastUpdateDateTime: - description: >- - Last date and time at the authorisation flow was updated.All - dates in the JSON payloads are represented in ISO 8601 - date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Last date and time at the authorisation flow was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the\ + \ timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpirationDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The multiple authorisation flow response from the ASPSP. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Links: @@ -11374,786 +13755,540 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteInternationalStandingOrder4: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - Initiation + - ConsentId + - Initiation + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' Initiation: - type: object - additionalProperties: false required: - - Frequency - - FirstPaymentDateTime - - CurrencyOfTransfer - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for an international standing order. + - CreditorAccount + - CurrencyOfTransfer + - FirstPaymentDateTime + - Frequency + - InstructedAmount + type: object properties: Frequency: - description: >- - Individual Definitions: - - EvryDay - Every day - - EvryWorkgDay - Every working day - - IntrvlWkDay - An interval specified in weeks (01 to 09), and - the day within the week (01 to 07) - - WkInMnthDay - A monthly interval, specifying the week of the - month (01 to 05) and day within the week (01 to 07) - - IntrvlMnthDay - An interval specified in months (between 01 - to 06, 12, 24), specifying the day within the month (-5 to - -1, 1 to 31) - - QtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). - - ENGLISH = Paid on the 25th March, 24th June, 29th September - and 25th December. - - SCOTTISH = Paid on the 2nd February, 15th May, 1st August - and 11th November. - - RECEIVED = Paid on the 20th March, 19th June, 24th September - and 20th December. - - Individual Patterns: - - EvryDay (ScheduleCode) - - EvryWorkgDay (ScheduleCode) - - IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + - IntervalInWeeks + DayInWeek) - - WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + - WeekInMonth + DayInWeek) - - IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + - IntervalInMonths + DayInMonth) - - QtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) - ScheduleCode + QuarterDay - - The regular expression for this element combines five - smaller versions for each permitted pattern. To aid - legibility - the components are presented individually here: - - EvryDay - - EvryWorkgDay - - IntrvlWkDay:0[1-9]:0[1-7] - - WkInMnthDay:0[1-5]:0[1-7] - - IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]) - - QtrDay:(ENGLISH|SCOTTISH|RECEIVED) - - Full Regular Expression: - - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ - type: string - pattern: >- - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + pattern: ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + type: string + description: "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay\ + \ - Every working day\nIntrvlWkDay - An interval specified in\ + \ weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay\ + \ - A monthly interval, specifying the week of the month (01 to\ + \ 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval\ + \ specified in months (between 01 to 06, 12, 24), specifying the\ + \ day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly\ + \ (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on\ + \ the 25th March, 24th June, 29th September and 25th December.\ + \ \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August\ + \ and 11th November.\nRECEIVED = Paid on the 20th March, 19th\ + \ June, 24th September and 20th December. \nIndividual Patterns:\n\ + EvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek\ + \ (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek\ + \ (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth\ + \ (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either\ + \ (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\n\ + The regular expression for this element combines five smaller\ + \ versions for each permitted pattern. To aid legibility - the\ + \ components are presented individually here:\nEvryDay\nEvryWorkgDay\n\ + IntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\n\ + QtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n\ + ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, to - enable reconciliation by the creditor upon receipt of the - amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only one - identifier can be passed through the end-to-end chain, the - creditor's reference or payment remittance identification - should be quoted in the end-to-end transaction - identification. - type: string - minLength: 1 maxLength: 35 - NumberOfPayments: - description: >- - Number of the payments that will be made in completing this - frequency sequence including any executed since the sequence - start date. - type: string minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + NumberOfPayments: maxLength: 35 + minLength: 1 + type: string + description: Number of the payments that will be made in completing + this frequency sequence including any executed since the sequence + start date. FirstPaymentDateTime: - description: >- - The date on which the first payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the first payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time FinalPaymentDateTime: - description: >- - The date on which the final payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the final payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time Purpose: - description: >- - Specifies the external purpose code in the format of - character string with a maximum length of 4 characters. - - The list of valid codes is an external code list published - separately. - - External code sets can be downloaded from www.iso20022.org. - type: string - minLength: 1 maxLength: 4 - ExtendedPurpose: - description: >- - Specifies the purpose of an international payment, when - there is no corresponding 4 character code available in the - ISO20022 list of Purpose Codes. - type: string minLength: 1 + type: string + description: |- + Specifies the external purpose code in the format of character string with a maximum length of 4 characters. + The list of valid codes is an external code list published separately. + External code sets can be downloaded from www.iso20022.org. + ExtendedPurpose: maxLength: 140 + minLength: 1 + type: string + description: Specifies the purpose of an international payment, + when there is no corresponding 4 character code available in the + ISO20022 list of Purpose Codes. ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' CurrencyOfTransfer: - description: >- - Specifies the currency of the to be transferred amount, - which is different from the currency of the debtor's - account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Specifies the currency of the to be transferred amount, + which is different from the currency of the debtor's account. DestinationCountryCode: - description: >- - Country in which Credit Account is domiciled. Code to - identify a country, a dependency, or another area of - particular geopolitical interest, on the basis of country - names obtained from the United Nations (ISO 3166, Alpha-2 - code). - type: string pattern: '[A-Z]{2,2}' + type: string + description: Country in which Credit Account is domiciled. Code + to identify a country, a dependency, or another area of particular + geopolitical interest, on the basis of country names obtained + from the United Nations (ISO 3166, Alpha-2 code). InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: Provides the details to identify the debtor account. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the debtor account. Creditor: type: object - additionalProperties: false - description: Party to which an amount of money is due. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string + maxLength: 350 minLength: 1 - maxLength: 140 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Party to which an amount of money is due. CreditorAgent: type: object - additionalProperties: false - description: >- - Party that manages the account on behalf of the account - owner, that is manages the registration and booking of - entries on the account, calculates balances on the account - and provides information about the account. - - This is the servicer of the beneficiary account. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: - description: >- - Unique and unambiguous identification of the servicing - institution. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of the servicing + institution. Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: |- + Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account. + This is the servicer of the beneficiary account. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: Provides the details to identify the beneficiary account. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the beneficiary account. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for an international standing order. Risk: $ref: '#/components/schemas/OBRisk1' OBWriteInternationalStandingOrderConsent6: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - Permission - - Initiation + - Initiation + - Permission + type: object properties: Permission: - description: Specifies the Open Banking service request types. type: string + description: Specifies the Open Banking service request types. enum: - - Create + - Create ReadRefundAccount: - description: Specifies to share the refund account details with PISP type: string + description: Specifies to share the refund account details with PISP enum: - - 'No' - - 'Yes' + - No + - Yes Initiation: - type: object - additionalProperties: false required: - - Frequency - - FirstPaymentDateTime - - CurrencyOfTransfer - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for an international standing order. + - CreditorAccount + - CurrencyOfTransfer + - FirstPaymentDateTime + - Frequency + - InstructedAmount + type: object properties: Frequency: - description: >- - Individual Definitions: - - EvryDay - Every day - - EvryWorkgDay - Every working day - - IntrvlWkDay - An interval specified in weeks (01 to 09), and - the day within the week (01 to 07) - - WkInMnthDay - A monthly interval, specifying the week of the - month (01 to 05) and day within the week (01 to 07) - - IntrvlMnthDay - An interval specified in months (between 01 - to 06, 12, 24), specifying the day within the month (-5 to - -1, 1 to 31) - - QtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). - - ENGLISH = Paid on the 25th March, 24th June, 29th September - and 25th December. - - SCOTTISH = Paid on the 2nd February, 15th May, 1st August - and 11th November. - - RECEIVED = Paid on the 20th March, 19th June, 24th September - and 20th December. - - Individual Patterns: - - EvryDay (ScheduleCode) - - EvryWorkgDay (ScheduleCode) - - IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + - IntervalInWeeks + DayInWeek) - - WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + - WeekInMonth + DayInWeek) - - IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + - IntervalInMonths + DayInMonth) - - QtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) - ScheduleCode + QuarterDay - - The regular expression for this element combines five - smaller versions for each permitted pattern. To aid - legibility - the components are presented individually here: - - EvryDay - - EvryWorkgDay - - IntrvlWkDay:0[1-9]:0[1-7] - - WkInMnthDay:0[1-5]:0[1-7] - - IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]) - - QtrDay:(ENGLISH|SCOTTISH|RECEIVED) - - Full Regular Expression: - - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ - type: string - pattern: >- - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + pattern: ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + type: string + description: "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay\ + \ - Every working day\nIntrvlWkDay - An interval specified in\ + \ weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay\ + \ - A monthly interval, specifying the week of the month (01 to\ + \ 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval\ + \ specified in months (between 01 to 06, 12, 24), specifying the\ + \ day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly\ + \ (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on\ + \ the 25th March, 24th June, 29th September and 25th December.\ + \ \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August\ + \ and 11th November.\nRECEIVED = Paid on the 20th March, 19th\ + \ June, 24th September and 20th December. \nIndividual Patterns:\n\ + EvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek\ + \ (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek\ + \ (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth\ + \ (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either\ + \ (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\n\ + The regular expression for this element combines five smaller\ + \ versions for each permitted pattern. To aid legibility - the\ + \ components are presented individually here:\nEvryDay\nEvryWorkgDay\n\ + IntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\n\ + QtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n\ + ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, to - enable reconciliation by the creditor upon receipt of the - amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only one - identifier can be passed through the end-to-end chain, the - creditor's reference or payment remittance identification - should be quoted in the end-to-end transaction - identification. - type: string - minLength: 1 maxLength: 35 - NumberOfPayments: - description: >- - Number of the payments that will be made in completing this - frequency sequence including any executed since the sequence - start date. - type: string minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + NumberOfPayments: maxLength: 35 + minLength: 1 + type: string + description: Number of the payments that will be made in completing + this frequency sequence including any executed since the sequence + start date. FirstPaymentDateTime: - description: >- - The date on which the first payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the first payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time FinalPaymentDateTime: - description: >- - The date on which the final payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the final payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time Purpose: - description: >- - Specifies the external purpose code in the format of - character string with a maximum length of 4 characters. - - The list of valid codes is an external code list published - separately. - - External code sets can be downloaded from www.iso20022.org. - type: string - minLength: 1 maxLength: 4 - ExtendedPurpose: - description: >- - Specifies the purpose of an international payment, when - there is no corresponding 4 character code available in the - ISO20022 list of Purpose Codes. - type: string minLength: 1 + type: string + description: |- + Specifies the external purpose code in the format of character string with a maximum length of 4 characters. + The list of valid codes is an external code list published separately. + External code sets can be downloaded from www.iso20022.org. + ExtendedPurpose: maxLength: 140 + minLength: 1 + type: string + description: Specifies the purpose of an international payment, + when there is no corresponding 4 character code available in the + ISO20022 list of Purpose Codes. ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' CurrencyOfTransfer: - description: >- - Specifies the currency of the to be transferred amount, - which is different from the currency of the debtor's - account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Specifies the currency of the to be transferred amount, + which is different from the currency of the debtor's account. DestinationCountryCode: - description: >- - Country in which Credit Account is domiciled. Code to - identify a country, a dependency, or another area of - particular geopolitical interest, on the basis of country - names obtained from the United Nations (ISO 3166, Alpha-2 - code). - type: string pattern: '[A-Z]{2,2}' + type: string + description: Country in which Credit Account is domiciled. Code + to identify a country, a dependency, or another area of particular + geopolitical interest, on the basis of country names obtained + from the United Nations (ISO 3166, Alpha-2 code). InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: Provides the details to identify the debtor account. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the debtor account. Creditor: type: object - additionalProperties: false - description: Party to which an amount of money is due. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string + maxLength: 350 minLength: 1 - maxLength: 140 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Party to which an amount of money is due. CreditorAgent: type: object - additionalProperties: false - description: >- - Party that manages the account on behalf of the account - owner, that is manages the registration and booking of - entries on the account, calculates balances on the account - and provides information about the account. - - This is the servicer of the beneficiary account. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: - description: >- - Unique and unambiguous identification of the servicing - institution. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of the servicing + institution. Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: |- + Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account. + This is the servicer of the beneficiary account. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: Provides the details to identify the beneficiary account. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the beneficiary account. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for an international standing order. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Risk: $ref: '#/components/schemas/OBRisk1' OBWriteInternationalStandingOrderConsentResponse7: - type: object - additionalProperties: false required: - - Data - - Risk + - Data + - Risk + type: object properties: Data: - type: object - additionalProperties: false required: - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Permission - - Initiation + - ConsentId + - CreationDateTime + - Initiation + - Permission + - Status + - StatusUpdateDateTime + type: object properties: ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the resource was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of resource in code form. type: string + description: Specifies the status of resource in code form. enum: - - Authorised - - AwaitingAuthorisation - - Consumed - - Rejected + - Authorised + - AwaitingAuthorisation + - Consumed + - Rejected StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Permission: - description: Specifies the Open Banking service request types. type: string + description: Specifies the Open Banking service request types. enum: - - Create + - Create ReadRefundAccount: - description: Specifies to share the refund account details with PISP type: string + description: Specifies to share the refund account details with PISP enum: - - 'No' - - 'Yes' + - No + - Yes CutOffDateTime: - description: >- - Specified cut-off date and time for the payment consent.All - dates in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Specified cut-off date and time for the payment consent.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -12161,359 +14296,243 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. Initiation: - type: object - additionalProperties: false required: - - Frequency - - FirstPaymentDateTime - - CurrencyOfTransfer - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for an international standing order. + - CreditorAccount + - CurrencyOfTransfer + - FirstPaymentDateTime + - Frequency + - InstructedAmount + type: object properties: Frequency: - description: >- - Individual Definitions: - - EvryDay - Every day - - EvryWorkgDay - Every working day - - IntrvlWkDay - An interval specified in weeks (01 to 09), and - the day within the week (01 to 07) - - WkInMnthDay - A monthly interval, specifying the week of the - month (01 to 05) and day within the week (01 to 07) - - IntrvlMnthDay - An interval specified in months (between 01 - to 06, 12, 24), specifying the day within the month (-5 to - -1, 1 to 31) - - QtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). - - ENGLISH = Paid on the 25th March, 24th June, 29th September - and 25th December. - - SCOTTISH = Paid on the 2nd February, 15th May, 1st August - and 11th November. - - RECEIVED = Paid on the 20th March, 19th June, 24th September - and 20th December. - - Individual Patterns: - - EvryDay (ScheduleCode) - - EvryWorkgDay (ScheduleCode) - - IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + - IntervalInWeeks + DayInWeek) - - WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + - WeekInMonth + DayInWeek) - - IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + - IntervalInMonths + DayInMonth) - - QtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) - ScheduleCode + QuarterDay - - The regular expression for this element combines five - smaller versions for each permitted pattern. To aid - legibility - the components are presented individually here: - - EvryDay - - EvryWorkgDay - - IntrvlWkDay:0[1-9]:0[1-7] - - WkInMnthDay:0[1-5]:0[1-7] - - IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]) - - QtrDay:(ENGLISH|SCOTTISH|RECEIVED) - - Full Regular Expression: - - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ - type: string - pattern: >- - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + pattern: ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + type: string + description: "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay\ + \ - Every working day\nIntrvlWkDay - An interval specified in\ + \ weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay\ + \ - A monthly interval, specifying the week of the month (01 to\ + \ 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval\ + \ specified in months (between 01 to 06, 12, 24), specifying the\ + \ day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly\ + \ (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on\ + \ the 25th March, 24th June, 29th September and 25th December.\ + \ \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August\ + \ and 11th November.\nRECEIVED = Paid on the 20th March, 19th\ + \ June, 24th September and 20th December. \nIndividual Patterns:\n\ + EvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek\ + \ (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek\ + \ (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth\ + \ (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either\ + \ (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\n\ + The regular expression for this element combines five smaller\ + \ versions for each permitted pattern. To aid legibility - the\ + \ components are presented individually here:\nEvryDay\nEvryWorkgDay\n\ + IntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\n\ + QtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n\ + ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, to - enable reconciliation by the creditor upon receipt of the - amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only one - identifier can be passed through the end-to-end chain, the - creditor's reference or payment remittance identification - should be quoted in the end-to-end transaction - identification. - type: string - minLength: 1 maxLength: 35 - NumberOfPayments: - description: >- - Number of the payments that will be made in completing this - frequency sequence including any executed since the sequence - start date. - type: string minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + NumberOfPayments: maxLength: 35 + minLength: 1 + type: string + description: Number of the payments that will be made in completing + this frequency sequence including any executed since the sequence + start date. FirstPaymentDateTime: - description: >- - The date on which the first payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the first payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time FinalPaymentDateTime: - description: >- - The date on which the final payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "The date on which the final payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time Purpose: - description: >- - Specifies the external purpose code in the format of - character string with a maximum length of 4 characters. - - The list of valid codes is an external code list published - separately. - - External code sets can be downloaded from www.iso20022.org. - type: string - minLength: 1 maxLength: 4 - ExtendedPurpose: - description: >- - Specifies the purpose of an international payment, when - there is no corresponding 4 character code available in the - ISO20022 list of Purpose Codes. - type: string minLength: 1 + type: string + description: |- + Specifies the external purpose code in the format of character string with a maximum length of 4 characters. + The list of valid codes is an external code list published separately. + External code sets can be downloaded from www.iso20022.org. + ExtendedPurpose: maxLength: 140 + minLength: 1 + type: string + description: Specifies the purpose of an international payment, + when there is no corresponding 4 character code available in the + ISO20022 list of Purpose Codes. ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' CurrencyOfTransfer: - description: >- - Specifies the currency of the to be transferred amount, - which is different from the currency of the debtor's - account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Specifies the currency of the to be transferred amount, + which is different from the currency of the debtor's account. DestinationCountryCode: - description: >- - Country in which Credit Account is domiciled. Code to - identify a country, a dependency, or another area of - particular geopolitical interest, on the basis of country - names obtained from the United Nations (ISO 3166, Alpha-2 - code). - type: string pattern: '[A-Z]{2,2}' + type: string + description: Country in which Credit Account is domiciled. Code + to identify a country, a dependency, or another area of particular + geopolitical interest, on the basis of country names obtained + from the United Nations (ISO 3166, Alpha-2 code). InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: Provides the details to identify the debtor account. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the debtor account. Creditor: type: object - additionalProperties: false - description: Party to which an amount of money is due. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string + maxLength: 350 minLength: 1 - maxLength: 140 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Party to which an amount of money is due. CreditorAgent: type: object - additionalProperties: false - description: >- - Party that manages the account on behalf of the account - owner, that is manages the registration and booking of - entries on the account, calculates balances on the account - and provides information about the account. - - This is the servicer of the beneficiary account. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: - description: >- - Unique and unambiguous identification of the servicing - institution. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of the servicing + institution. Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: |- + Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account. + This is the servicer of the beneficiary account. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: Provides the details to identify the beneficiary account. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the beneficiary account. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for an international standing order. Authorisation: - type: object - additionalProperties: false required: - - AuthorisationType - description: The authorisation type request from the TPP. + - AuthorisationType + type: object properties: AuthorisationType: - description: Type of authorisation flow requested. type: string + description: Type of authorisation flow requested. enum: - - Any - - Single + - Any + - Single CompletionDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The authorisation type request from the TPP. SCASupportData: type: object - additionalProperties: false - description: 'Supporting Data provided by TPP, when requesting SCA Exemption.' properties: RequestedSCAExemptionType: - description: >- - This field allows a PISP to request specific SCA Exemption - for a Payment Initiation type: string + description: This field allows a PISP to request specific SCA Exemption + for a Payment Initiation enum: - - BillPayment - - ContactlessTravel - - EcommerceGoods - - EcommerceServices - - Kiosk - - Parking - - PartyToParty + - BillPayment + - ContactlessTravel + - EcommerceGoods + - EcommerceServices + - Kiosk + - Parking + - PartyToParty AppliedAuthenticationApproach: - description: >- - Specifies a character string with a maximum length of 40 - characters. - - Usage: This field indicates whether the PSU was subject to - SCA performed by the TPP type: string + description: |- + Specifies a character string with a maximum length of 40 characters. + Usage: This field indicates whether the PSU was subject to SCA performed by the TPP enum: - - CA - - SCA + - CA + - SCA ReferencePaymentOrderId: - description: >- - Specifies a character string with a maximum length of 140 - characters. - - Usage: If the payment is recurring then the transaction - identifier of the previous payment occurrence so that the - ASPSP can verify that the PISP, amount and the payee are the - same as the previous occurrence. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: |- + Specifies a character string with a maximum length of 140 characters. + Usage: If the payment is recurring then the transaction identifier of the previous payment occurrence so that the ASPSP can verify that the PISP, amount and the payee are the same as the previous occurrence. + description: Supporting Data provided by TPP, when requesting SCA Exemption. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Risk: @@ -12523,149 +14542,114 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWriteInternationalStandingOrderResponse7: - type: object - additionalProperties: false required: - - Data + - Data + type: object properties: Data: - type: object - additionalProperties: false required: - - InternationalStandingOrderId - - ConsentId - - CreationDateTime - - Status - - StatusUpdateDateTime - - Initiation + - ConsentId + - CreationDateTime + - Initiation + - InternationalStandingOrderId + - Status + - StatusUpdateDateTime + type: object properties: InternationalStandingOrderId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the international standing order resource. - type: string - minLength: 1 maxLength: 40 - ConsentId: - description: >- - OB: Unique identification as assigned by the ASPSP to uniquely - identify the consent resource. - type: string minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the international standing order resource.' + ConsentId: maxLength: 128 + minLength: 1 + type: string + description: 'OB: Unique identification as assigned by the ASPSP to + uniquely identify the consent resource.' CreationDateTime: - description: >- - Date and time at which the resource was created.All dates in the - JSON payloads are represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource was created.All dates\ + \ in the JSON payloads are represented in ISO 8601 date-time format.\ + \ \nAll date-time fields in responses must include the timezone. An\ + \ example is below:\n2017-04-05T10:43:07+00:00" format: date-time Status: - description: Specifies the status of resource in code form. type: string + description: Specifies the status of resource in code form. enum: - - Cancelled - - InitiationCompleted - - InitiationFailed - - InitiationPending + - Cancelled + - InitiationCompleted + - InitiationFailed + - InitiationPending StatusUpdateDateTime: - description: >- - Date and time at which the resource status was updated.All dates - in the JSON payloads are represented in ISO 8601 date-time - format. - - All date-time fields in responses must include the timezone. An - example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the resource status was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the timezone.\ + \ An example is below:\n2017-04-05T10:43:07+00:00" format: date-time Refund: - type: object - additionalProperties: false required: - - Account + - Account + type: object properties: Creditor: type: object - additionalProperties: false - description: >- - Set of elements used to identify a person or an - organisation. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string + maxLength: 350 minLength: 1 - maxLength: 140 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Set of elements used to identify a person or an organisation. Agent: type: object - additionalProperties: false - description: >- - Set of elements used to uniquely and unambiguously identify - a financial institution or a branch of a financial - institution. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: $ref: '#/components/schemas/Identification_1' Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Set of elements used to uniquely and unambiguously + identify a financial institution or a branch of a financial institution. Account: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: Provides the details to identify an account. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - Name of the account, as assigned by the account - servicing institution. - - Usage: The account name is the name or names of the - account owner(s) represented at an account level. The - account name is not the product name or the nickname of - the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + Name of the account, as assigned by the account servicing institution. + Usage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify an account. Charges: type: array items: - type: object - additionalProperties: false - description: >- - Set of elements used to provide details of a charge for the - payment initiation. required: - - ChargeBearer - - Type - - Amount + - Amount + - ChargeBearer + - Type + type: object properties: ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' @@ -12673,339 +14657,228 @@ components: $ref: '#/components/schemas/OBExternalPaymentChargeType1Code' Amount: $ref: '#/components/schemas/OBActiveOrHistoricCurrencyAndAmount' + description: Set of elements used to provide details of a charge for + the payment initiation. Initiation: - type: object - additionalProperties: false required: - - Frequency - - FirstPaymentDateTime - - CurrencyOfTransfer - - InstructedAmount - - CreditorAccount - description: >- - The Initiation payload is sent by the initiating party to the - ASPSP. It is used to request movement of funds from the debtor - account to a creditor for an international standing order. + - CreditorAccount + - CurrencyOfTransfer + - FirstPaymentDateTime + - Frequency + - InstructedAmount + type: object properties: Frequency: - description: >- - Individual Definitions: - - EvryDay - Every day - - EvryWorkgDay - Every working day - - IntrvlWkDay - An interval specified in weeks (01 to 09), and - the day within the week (01 to 07) - - WkInMnthDay - A monthly interval, specifying the week of the - month (01 to 05) and day within the week (01 to 07) - - IntrvlMnthDay - An interval specified in months (between 01 - to 06, 12, 24), specifying the day within the month (-5 to - -1, 1 to 31) - - QtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED). - - ENGLISH = Paid on the 25th March, 24th June, 29th September - and 25th December. - - SCOTTISH = Paid on the 2nd February, 15th May, 1st August - and 11th November. - - RECEIVED = Paid on the 20th March, 19th June, 24th September - and 20th December. - - Individual Patterns: - - EvryDay (ScheduleCode) - - EvryWorkgDay (ScheduleCode) - - IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + - IntervalInWeeks + DayInWeek) - - WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + - WeekInMonth + DayInWeek) - - IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + - IntervalInMonths + DayInMonth) - - QtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) - ScheduleCode + QuarterDay - - The regular expression for this element combines five - smaller versions for each permitted pattern. To aid - legibility - the components are presented individually here: - - EvryDay - - EvryWorkgDay - - IntrvlWkDay:0[1-9]:0[1-7] - - WkInMnthDay:0[1-5]:0[1-7] - - IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]) - - QtrDay:(ENGLISH|SCOTTISH|RECEIVED) - - Full Regular Expression: - - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ - type: string - pattern: >- - ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + pattern: ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlDay:((0[2-9])|([1-2][0-9])|3[0-1]))$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$ + type: string + description: "Individual Definitions:\nEvryDay - Every day\nEvryWorkgDay\ + \ - Every working day\nIntrvlWkDay - An interval specified in\ + \ weeks (01 to 09), and the day within the week (01 to 07)\nWkInMnthDay\ + \ - A monthly interval, specifying the week of the month (01 to\ + \ 05) and day within the week (01 to 07)\nIntrvlMnthDay - An interval\ + \ specified in months (between 01 to 06, 12, 24), specifying the\ + \ day within the month (-5 to -1, 1 to 31)\nQtrDay - Quarterly\ + \ (either ENGLISH, SCOTTISH, or RECEIVED). \nENGLISH = Paid on\ + \ the 25th March, 24th June, 29th September and 25th December.\ + \ \nSCOTTISH = Paid on the 2nd February, 15th May, 1st August\ + \ and 11th November.\nRECEIVED = Paid on the 20th March, 19th\ + \ June, 24th September and 20th December. \nIndividual Patterns:\n\ + EvryDay (ScheduleCode)\nEvryWorkgDay (ScheduleCode)\nIntrvlWkDay:IntervalInWeeks:DayInWeek\ + \ (ScheduleCode + IntervalInWeeks + DayInWeek)\nWkInMnthDay:WeekInMonth:DayInWeek\ + \ (ScheduleCode + WeekInMonth + DayInWeek)\nIntrvlMnthDay:IntervalInMonths:DayInMonth\ + \ (ScheduleCode + IntervalInMonths + DayInMonth)\nQtrDay: + either\ + \ (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay\n\ + The regular expression for this element combines five smaller\ + \ versions for each permitted pattern. To aid legibility - the\ + \ components are presented individually here:\nEvryDay\nEvryWorkgDay\n\ + IntrvlWkDay:0[1-9]:0[1-7]\nWkInMnthDay:0[1-5]:0[1-7]\nIntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01])\n\ + QtrDay:(ENGLISH|SCOTTISH|RECEIVED)\nFull Regular Expression:\n\ + ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0[1-9]:0[1-7])$|^(WkInMnthDay:0[1-5]:0[1-7])$|^(IntrvlMnthDay:(0[1-6]|12|24):(-0[1-5]|0[1-9]|[12][0-9]|3[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))$" Reference: - description: >- - Unique reference, as assigned by the creditor, to - unambiguously refer to the payment transaction. - - Usage: If available, the initiating party should provide - this reference in the structured remittance information, to - enable reconciliation by the creditor upon receipt of the - amount of money. - - If the business context requires the use of a creditor - reference or a payment remit identification, and only one - identifier can be passed through the end-to-end chain, the - creditor's reference or payment remittance identification - should be quoted in the end-to-end transaction - identification. - type: string - minLength: 1 maxLength: 35 - NumberOfPayments: - description: >- - Number of the payments that will be made in completing this - frequency sequence including any executed since the sequence - start date. - type: string minLength: 1 + type: string + description: |- + Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. + Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. + If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification. + NumberOfPayments: maxLength: 35 - FirstPaymentDateTime: - description: >- - The date on which the first payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 + minLength: 1 type: string - format: date-time - FinalPaymentDateTime: - description: >- - The date on which the final payment for a Standing Order - schedule will be made.All dates in the JSON payloads are - represented in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 + description: Number of the payments that will be made in completing + this frequency sequence including any executed since the sequence + start date. + FirstPaymentDateTime: type: string + description: "The date on which the first payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" format: date-time - Purpose: - description: >- - Specifies the external purpose code in the format of - character string with a maximum length of 4 characters. - - The list of valid codes is an external code list published - separately. - - External code sets can be downloaded from www.iso20022.org. - type: string - minLength: 1 - maxLength: 4 - ExtendedPurpose: - description: >- - Specifies the purpose of an international payment, when - there is no corresponding 4 character code available in the - ISO20022 list of Purpose Codes. + FinalPaymentDateTime: type: string + description: "The date on which the final payment for a Standing\ + \ Order schedule will be made.All dates in the JSON payloads are\ + \ represented in ISO 8601 date-time format. \nAll date-time fields\ + \ in responses must include the timezone. An example is below:\n\ + 2017-04-05T10:43:07+00:00" + format: date-time + Purpose: + maxLength: 4 minLength: 1 + type: string + description: |- + Specifies the external purpose code in the format of character string with a maximum length of 4 characters. + The list of valid codes is an external code list published separately. + External code sets can be downloaded from www.iso20022.org. + ExtendedPurpose: maxLength: 140 + minLength: 1 + type: string + description: Specifies the purpose of an international payment, + when there is no corresponding 4 character code available in the + ISO20022 list of Purpose Codes. ChargeBearer: $ref: '#/components/schemas/OBChargeBearerType1Code' CurrencyOfTransfer: - description: >- - Specifies the currency of the to be transferred amount, - which is different from the currency of the debtor's - account. + pattern: ^[A-Z]{3,3}$ type: string - pattern: '^[A-Z]{3,3}$' + description: Specifies the currency of the to be transferred amount, + which is different from the currency of the debtor's account. DestinationCountryCode: - description: >- - Country in which Credit Account is domiciled. Code to - identify a country, a dependency, or another area of - particular geopolitical interest, on the basis of country - names obtained from the United Nations (ISO 3166, Alpha-2 - code). - type: string pattern: '[A-Z]{2,2}' + type: string + description: Country in which Credit Account is domiciled. Code + to identify a country, a dependency, or another area of particular + geopolitical interest, on the basis of country names obtained + from the United Nations (ISO 3166, Alpha-2 code). InstructedAmount: - type: object - additionalProperties: false required: - - Amount - - Currency - description: >- - Amount of money to be moved between the debtor and creditor, - before deduction of charges, expressed in the currency as - ordered by the initiating party. - - Usage: This amount has to be transported unchanged through - the transaction chain. + - Amount + - Currency + type: object properties: Amount: - $ref: >- - #/components/schemas/OBActiveCurrencyAndAmount_SimpleType + $ref: '#/components/schemas/OBActiveCurrencyAndAmount_SimpleType' Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode' + description: |- + Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. + Usage: This amount has to be transported unchanged through the transaction chain. DebtorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - description: Provides the details to identify the debtor account. + - Identification + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level, as displayed - by the ASPSP's online channels. - - Note, the account name is not the product name or the - nickname of the account. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. + Note, the account name is not the product name or the nickname of the account. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the debtor account. Creditor: type: object - additionalProperties: false - description: Party to which an amount of money is due. properties: Name: - description: >- - Name by which a party is known and which is usually used - to identify that party. - type: string + maxLength: 350 minLength: 1 - maxLength: 140 + type: string + description: Name by which a party is known and which is usually + used to identify that party. PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: Party to which an amount of money is due. CreditorAgent: type: object - additionalProperties: false - description: >- - Party that manages the account on behalf of the account - owner, that is manages the registration and booking of - entries on the account, calculates balances on the account - and provides information about the account. - - This is the servicer of the beneficiary account. properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalFinancialInstitutionIdentification4Code + $ref: '#/components/schemas/OBExternalFinancialInstitutionIdentification4Code' Identification: - description: >- - Unique and unambiguous identification of the servicing - institution. - type: string - minLength: 1 maxLength: 35 + minLength: 1 + type: string + description: Unique and unambiguous identification of the servicing + institution. Name: $ref: '#/components/schemas/Name' PostalAddress: $ref: '#/components/schemas/OBPostalAddress6' + description: |- + Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account. + This is the servicer of the beneficiary account. CreditorAccount: - type: object - additionalProperties: false required: - - SchemeName - - Identification - - Name - description: Provides the details to identify the beneficiary account. + - Identification + - Name + - SchemeName + type: object properties: SchemeName: - $ref: >- - #/components/schemas/OBExternalAccountIdentification4Code + $ref: '#/components/schemas/OBExternalAccountIdentification4Code' Identification: $ref: '#/components/schemas/Identification_0' Name: - description: >- - The account name is the name or names of the account - owner(s) represented at an account level. - - Note, the account name is not the product name or the - nickname of the account. - - OB: ASPSPs may carry out name validation for - Confirmation of Payee, but it is not mandatory. - type: string + maxLength: 350 minLength: 1 - maxLength: 70 + type: string + description: |- + The account name is the name or names of the account owner(s) represented at an account level. + Note, the account name is not the product name or the nickname of the account. + OB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory. SecondaryIdentification: $ref: '#/components/schemas/SecondaryIdentification' + description: Provides the details to identify the beneficiary account. SupplementaryData: $ref: '#/components/schemas/OBSupplementaryData1' + description: The Initiation payload is sent by the initiating party + to the ASPSP. It is used to request movement of funds from the debtor + account to a creditor for an international standing order. MultiAuthorisation: - type: object - additionalProperties: false required: - - Status - description: The multiple authorisation flow response from the ASPSP. + - Status + type: object properties: Status: - description: Specifies the status of the authorisation flow in code form. type: string + description: Specifies the status of the authorisation flow in code + form. enum: - - Authorised - - AwaitingFurtherAuthorisation - - Rejected + - Authorised + - AwaitingFurtherAuthorisation + - Rejected NumberRequired: - description: >- - Number of authorisations required for payment order (total - required at the start of the multi authorisation journey). type: integer + description: Number of authorisations required for payment order + (total required at the start of the multi authorisation journey). NumberReceived: - description: Number of authorisations received. type: integer + description: Number of authorisations received. LastUpdateDateTime: - description: >- - Last date and time at the authorisation flow was updated.All - dates in the JSON payloads are represented in ISO 8601 - date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Last date and time at the authorisation flow was updated.All\ + \ dates in the JSON payloads are represented in ISO 8601 date-time\ + \ format. \nAll date-time fields in responses must include the\ + \ timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time ExpirationDateTime: - description: >- - Date and time at which the requested authorisation flow must - be completed.All dates in the JSON payloads are represented - in ISO 8601 date-time format. - - All date-time fields in responses must include the timezone. - An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the requested authorisation\ + \ flow must be completed.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time + description: The multiple authorisation flow response from the ASPSP. Debtor: $ref: '#/components/schemas/OBDebtorIdentification1' Links: @@ -13013,159 +14886,1281 @@ components: Meta: $ref: '#/components/schemas/Meta' OBWritePaymentDetailsResponse1: - type: object - additionalProperties: false required: - - Data + - Data + type: object properties: Data: type: object - additionalProperties: false properties: PaymentStatus: type: array items: - type: object - additionalProperties: false - description: Payment status details. required: - - PaymentTransactionId - - Status - - StatusUpdateDateTime + - PaymentTransactionId + - Status + - StatusUpdateDateTime + type: object properties: PaymentTransactionId: - description: >- - Unique identifier for the transaction within an servicing - institution. This identifier is both unique and immutable. - type: string - minLength: 1 maxLength: 210 + minLength: 1 + type: string + description: Unique identifier for the transaction within an servicing + institution. This identifier is both unique and immutable. Status: - description: >- - Status of a transfe, as assigned by the transaction - administrator. type: string + description: Status of a transfe, as assigned by the transaction + administrator. enum: - - Accepted - - AcceptedCancellationRequest - - AcceptedCreditSettlementCompleted - - AcceptedCustomerProfile - - AcceptedFundsChecked - - AcceptedSettlementCompleted - - AcceptedSettlementInProcess - - AcceptedTechnicalValidation - - AcceptedWithChange - - AcceptedWithoutPosting - - Cancelled - - NoCancellationProcess - - PartiallyAcceptedCancellationRequest - - PartiallyAcceptedTechnicalCorrect - - PaymentCancelled - - Pending - - PendingCancellationRequest - - Received - - Rejected - - RejectedCancellationRequest + - Accepted + - AcceptedCancellationRequest + - AcceptedCreditSettlementCompleted + - AcceptedCustomerProfile + - AcceptedFundsChecked + - AcceptedSettlementCompleted + - AcceptedSettlementInProcess + - AcceptedTechnicalValidation + - AcceptedWithChange + - AcceptedWithoutPosting + - Cancelled + - NoCancellationProcess + - PartiallyAcceptedCancellationRequest + - PartiallyAcceptedTechnicalCorrect + - PaymentCancelled + - Pending + - PendingCancellationRequest + - Received + - Rejected + - RejectedCancellationRequest StatusUpdateDateTime: - description: >- - Date and time at which the status was assigned to the - transfer.All dates in the JSON payloads are represented in - ISO 8601 date-time format. - - All date-time fields in responses must include the - timezone. An example is below: - - 2017-04-05T10:43:07+00:00 type: string + description: "Date and time at which the status was assigned to\ + \ the transfer.All dates in the JSON payloads are represented\ + \ in ISO 8601 date-time format. \nAll date-time fields in responses\ + \ must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00" format: date-time StatusDetail: - type: object - additionalProperties: false required: - - Status - description: Payment status details as per underlying Payment Rail. + - Status + type: object properties: LocalInstrument: $ref: '#/components/schemas/OBExternalLocalInstrument1Code' Status: - description: >- - Status of a transfer, as assigned by the transaction - administrator. - type: string - minLength: 1 maxLength: 128 + minLength: 1 + type: string + description: Status of a transfer, as assigned by the transaction + administrator. StatusReason: - description: Reason Code provided for the status of a transfer. type: string + description: Reason Code provided for the status of a transfer. enum: - - Cancelled - - PendingFailingSettlement - - PendingSettlement - - Proprietary - - ProprietaryRejection - - Suspended - - Unmatched + - Cancelled + - PendingFailingSettlement + - PendingSettlement + - Proprietary + - ProprietaryRejection + - Suspended + - Unmatched StatusReasonDescription: - description: Reason provided for the status of a transfer. - type: string - minLength: 1 maxLength: 256 + minLength: 1 + type: string + description: Reason provided for the status of a transfer. + description: Payment status details as per underlying Payment + Rail. + description: Payment status details. Links: $ref: '#/components/schemas/Links' Meta: $ref: '#/components/schemas/Meta' PostCode: - description: >- - Identifier consisting of a group of letters and/or numbers that is added - to a postal address to assist the sorting of mail. - type: string - minLength: 1 maxLength: 16 - SecondaryIdentification: - description: >- - This is secondary identification of the account, as assigned by the - account servicing institution. - - This can be used by building societies to additionally identify accounts - with a roll number (in addition to a sort code and account number - combination). - type: string minLength: 1 - maxLength: 34 - StreetName: - description: Name of a street or thoroughfare. type: string + description: Identifier consisting of a group of letters and/or numbers that + is added to a postal address to assist the sorting of mail. + SecondaryIdentification: + maxLength: 34 minLength: 1 - maxLength: 70 - SubDepartment: - description: Identification of a sub-division of a large organisation or building. type: string - minLength: 1 + description: "This is secondary identification of the account, as assigned by\ + \ the account servicing institution. \nThis can be used by building societies\ + \ to additionally identify accounts with a roll number (in addition to a sort\ + \ code and account number combination)." + StreetName: maxLength: 70 - TownName: - description: >- - Name of a built-up area, with defined boundaries, and a local - government. + minLength: 1 type: string + description: Name of a street or thoroughfare. + SubDepartment: + maxLength: 70 minLength: 1 + type: string + description: Identification of a sub-division of a large organisation or building. + TownName: maxLength: 35 + minLength: 1 + type: string + description: Name of a built-up area, with defined boundaries, and a local government. + responses: + 200DomesticPaymentConsentsConsentIdFundsConfirmationRead: + description: Domestic Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' + 200DomesticPaymentConsentsConsentIdRead: + description: Domestic Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticConsentResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticConsentResponse5' + 200DomesticPaymentsDomesticPaymentIdPaymentDetailsRead: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 200DomesticPaymentsDomesticPaymentIdRead: + description: Domestic Payments Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticResponse5' + 200DomesticScheduledPaymentConsentsConsentIdRead: + description: Domestic Scheduled Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledConsentResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledConsentResponse5' + 200DomesticScheduledPaymentsDomesticScheduledPaymentIdPaymentDetailsRead: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 200DomesticScheduledPaymentsDomesticScheduledPaymentIdRead: + description: Domestic Scheduled Payments Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledResponse5' + 200DomesticStandingOrderConsentsConsentIdRead: + description: Domestic Standing Order Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6' + 200DomesticStandingOrdersDomesticStandingOrderIdPaymentDetailsRead: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 200DomesticStandingOrdersDomesticStandingOrderIdRead: + description: Domestic Standing Orders Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderResponse6' + 200FilePaymentConsentsConsentIdFileCreated: + description: File Payment Consents Created + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 200FilePaymentConsentsConsentIdFileRead: + description: File Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/File' + application/jose+jwe: + schema: + $ref: '#/components/schemas/File' + 200FilePaymentConsentsConsentIdRead: + description: File Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFileConsentResponse4' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFileConsentResponse4' + 200FilePaymentsFilePaymentIdPaymentDetailsRead: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 200FilePaymentsFilePaymentIdRead: + description: File Payments Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFileResponse3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFileResponse3' + 200FilePaymentsFilePaymentIdReportFileRead: + description: File Payments Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/File' + application/jose+jwe: + schema: + $ref: '#/components/schemas/File' + 200InternationalPaymentConsentsConsentIdFundsConfirmationRead: + description: International Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' + 200InternationalPaymentConsentsConsentIdRead: + description: International Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalConsentResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalConsentResponse6' + 200InternationalPaymentsInternationalPaymentIdPaymentDetailsRead: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 200InternationalPaymentsInternationalPaymentIdRead: + description: International Payments Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalResponse5' + 200InternationalScheduledPaymentConsentsConsentIdFundsConfirmationRead: + description: International Scheduled Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFundsConfirmationResponse1' + 200InternationalScheduledPaymentConsentsConsentIdRead: + description: International Scheduled Payment Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledConsentResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledConsentResponse6' + 200InternationalScheduledPaymentsInternationalScheduledPaymentIdPaymentDetailsRead: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 200InternationalScheduledPaymentsInternationalScheduledPaymentIdRead: + description: International Scheduled Payments Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledResponse6' + 200InternationalStandingOrderConsentsConsentIdRead: + description: International Standing Order Consents Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7' + 200InternationalStandingOrdersInternationalStandingOrderPaymentIdPaymentDetailsRead: + description: Payment Details Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWritePaymentDetailsResponse1' + 200InternationalStandingOrdersInternationalStandingOrderPaymentIdRead: + description: International Standing Orders Read + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderResponse7' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderResponse7' + 201DomesticPaymentConsentsCreated: + description: Domestic Payment Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticConsentResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticConsentResponse5' + 201DomesticPaymentsCreated: + description: Domestic Payments Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticResponse5' + 201DomesticScheduledPaymentConsentsCreated: + description: Domestic Scheduled Payment Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledConsentResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledConsentResponse5' + 201DomesticScheduledPaymentsCreated: + description: Domestic Scheduled Payments Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledResponse5' + 201DomesticStandingOrderConsentsCreated: + description: Domestic Standing Order Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsentResponse6' + 201DomesticStandingOrdersCreated: + description: Domestic Standing Orders Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderResponse6' + 201FilePaymentConsentsCreated: + description: File Payment Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFileConsentResponse4' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFileConsentResponse4' + 201FilePaymentsCreated: + description: File Payments Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFileResponse3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFileResponse3' + 201InternationalPaymentConsentsCreated: + description: International Payment Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalConsentResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalConsentResponse6' + 201InternationalPaymentsCreated: + description: International Payments Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalResponse5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalResponse5' + 201InternationalScheduledPaymentConsentsCreated: + description: International Scheduled Payment Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledConsentResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledConsentResponse6' + 201InternationalScheduledPaymentsCreated: + description: International Scheduled Payments Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledResponse6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledResponse6' + 201InternationalStandingOrderConsentsCreated: + description: International Standing Order Consents Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsentResponse7' + 201InternationalStandingOrdersCreated: + description: International Standing Orders Created + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderResponse7' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderResponse7' + 400Error: + description: Bad request + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 401Error: + description: Unauthorized + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 403Error: + description: Forbidden + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + 404Error: + description: Not found + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 405Error: + description: Method Not Allowed + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 406Error: + description: Not Acceptable + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 415Error: + description: Unsupported Media Type + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: {} + 429Error: + description: Too Many Requests + headers: + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + Retry-After: + description: Number in seconds to wait + schema: + type: integer + content: {} + 500Error: + description: Internal Server Error + headers: + x-jws-signature: + description: | + Header containing a detached JWS signature of the body of the payload. + schema: + type: string + x-fapi-interaction-id: + description: An RFC4122 UID used as a correlation id. + schema: + type: string + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBErrorResponse1' + parameters: + ConsentId: + name: ConsentId + in: path + description: ConsentId + required: true + schema: + type: string + DomesticPaymentId: + name: DomesticPaymentId + in: path + description: DomesticPaymentId + required: true + schema: + type: string + DomesticScheduledPaymentId: + name: DomesticScheduledPaymentId + in: path + description: DomesticScheduledPaymentId + required: true + schema: + type: string + DomesticStandingOrderId: + name: DomesticStandingOrderId + in: path + description: DomesticStandingOrderId + required: true + schema: + type: string + FilePaymentId: + name: FilePaymentId + in: path + description: FilePaymentId + required: true + schema: + type: string + InternationalPaymentId: + name: InternationalPaymentId + in: path + description: InternationalPaymentId + required: true + schema: + type: string + InternationalScheduledPaymentId: + name: InternationalScheduledPaymentId + in: path + description: InternationalScheduledPaymentId + required: true + schema: + type: string + InternationalStandingOrderPaymentId: + name: InternationalStandingOrderPaymentId + in: path + description: InternationalStandingOrderPaymentId + required: true + schema: + type: string + Authorization: + name: Authorization + in: header + description: An Authorisation Token as per https://tools.ietf.org/html/rfc6750 + required: true + schema: + type: string + x-customer-user-agent: + name: x-customer-user-agent + in: header + description: Indicates the user-agent that the PSU is using. + schema: + type: string + x-fapi-customer-ip-address: + name: x-fapi-customer-ip-address + in: header + description: The PSU's IP address if the PSU is currently logged in with the + TPP. + schema: + type: string + x-fapi-auth-date: + name: x-fapi-auth-date + in: header + description: "The time when the PSU last logged in with the TPP. \nAll dates\ + \ in the HTTP headers are represented as RFC 7231 Full Dates. An example is\ + \ below: \nSun, 10 Sep 2017 19:43:31 UTC" + schema: + pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) + \d{4} \d{2}:\d{2}:\d{2} (GMT|UTC)$ + type: string + x-fapi-interaction-id: + name: x-fapi-interaction-id + in: header + description: An RFC4122 UID used as a correlation id. + schema: + type: string + x-idempotency-key: + name: x-idempotency-key + in: header + description: | + Every request will be processed only once per x-idempotency-key. The + Idempotency Key will be valid for 24 hours. + required: true + schema: + maxLength: 40 + pattern: ^(?!\s)(.*)(\S)$ + type: string + x-jws-signature: + name: x-jws-signature + in: header + description: A detached JWS signature of the body of the payload. + required: true + schema: + type: string + requestBodies: + OBWriteDomesticConsent4Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticConsent4' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticConsent4' + required: true + OBWriteDomestic2Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomestic2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomestic2' + required: true + OBWriteDomesticScheduledConsent4Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledConsent4' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduledConsent4' + required: true + OBWriteDomesticScheduled2Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduled2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticScheduled2' + required: true + OBWriteDomesticStandingOrderConsent5Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsent5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrderConsent5' + required: true + OBWriteDomesticStandingOrder3Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrder3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteDomesticStandingOrder3' + required: true + OBWriteFileConsent3Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFileConsent3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFileConsent3' + required: true + FileParam: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/File' + application/jose+jwe: + schema: + $ref: '#/components/schemas/File' + required: true + OBWriteFile2Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteFile2' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteFile2' + required: true + OBWriteInternationalConsent5Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalConsent5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalConsent5' + required: true + OBWriteInternational3Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternational3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternational3' + required: true + OBWriteInternationalScheduledConsent5Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledConsent5' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduledConsent5' + required: true + OBWriteInternationalScheduled3Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduled3' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalScheduled3' + required: true + OBWriteInternationalStandingOrderConsent6Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsent6' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrderConsent6' + required: true + OBWriteInternationalStandingOrder4Param: + description: Default + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrder4' + application/jose+jwe: + schema: + $ref: '#/components/schemas/OBWriteInternationalStandingOrder4' + required: true securitySchemes: TPPOAuth2Security: type: oauth2 description: TPP client credential authorisation flow with the ASPSP flows: clientCredentials: - tokenUrl: 'https://authserver.example/token' + tokenUrl: https://authserver.example/token scopes: payments: Generic payment scope PSUOAuth2Security: type: oauth2 - description: >- - OAuth flow, it is required when the PSU needs to perform SCA with the - ASPSP when a TPP wants to access an ASPSP resource owned by the PSU + description: OAuth flow, it is required when the PSU needs to perform SCA with + the ASPSP when a TPP wants to access an ASPSP resource owned by the PSU flows: authorizationCode: - authorizationUrl: 'https://authserver.example/authorization' - tokenUrl: 'https://authserver.example/token' + authorizationUrl: https://authserver.example/authorization + tokenUrl: https://authserver.example/token scopes: payments: Generic payment scope diff --git a/dist/swagger-flattened/account-info-swagger-flattened.json b/dist/swagger-flattened/account-info-swagger-flattened.json index 7f837065..e042bb6a 100644 --- a/dist/swagger-flattened/account-info-swagger-flattened.json +++ b/dist/swagger-flattened/account-info-swagger-flattened.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1/aisp", "schemes": [ @@ -20,10 +20,12 @@ ], "consumes": [ "application/json; charset=utf-8", + "application/json", "application/jose+jwe" ], "produces": [ "application/json; charset=utf-8", + "application/json", "application/jose+jwe" ], "paths": { @@ -1816,6 +1818,14 @@ "type": "string", "format": "date-time" }, + "SwitchStatus": { + "description": "Specifies the switch status for the account, in a coded form.", + "type": "string", + "x-namespaced-enum": [ + "UK.CASS.NotSwitced", + "UK.CASS.SwitchCompleted" + ] + }, "Account": { "type": "array", "items": { @@ -1847,7 +1857,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -2455,6 +2465,14 @@ "type": "string", "format": "date-time" }, + "SwitchStatus": { + "description": "Specifies the switch status for the account, in a coded form.", + "type": "string", + "x-namespaced-enum": [ + "UK.CASS.NotSwitced", + "UK.CASS.SwitchCompleted" + ] + }, "Account": { "type": "array", "items": { @@ -2486,7 +2504,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -3792,7 +3810,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -15492,7 +15510,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -16200,7 +16218,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -19542,7 +19560,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -19680,7 +19698,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -20689,7 +20707,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -20827,7 +20845,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -22154,7 +22172,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -33122,7 +33140,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -33823,7 +33841,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -35749,7 +35767,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -35887,7 +35905,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", diff --git a/dist/swagger-flattened/aggregated-polling-swagger-flattened.json b/dist/swagger-flattened/aggregated-polling-swagger-flattened.json index 46558666..2f997cb7 100644 --- a/dist/swagger-flattened/aggregated-polling-swagger-flattened.json +++ b/dist/swagger-flattened/aggregated-polling-swagger-flattened.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1", "schemes": [ diff --git a/dist/swagger-flattened/callback-urls-swagger-flattened.json b/dist/swagger-flattened/callback-urls-swagger-flattened.json index 5766990a..bddda24d 100644 --- a/dist/swagger-flattened/callback-urls-swagger-flattened.json +++ b/dist/swagger-flattened/callback-urls-swagger-flattened.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1", "schemes": [ diff --git a/dist/swagger-flattened/confirmation-funds-swagger-flattened.json b/dist/swagger-flattened/confirmation-funds-swagger-flattened.json index 2a369c14..f25c818f 100644 --- a/dist/swagger-flattened/confirmation-funds-swagger-flattened.json +++ b/dist/swagger-flattened/confirmation-funds-swagger-flattened.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1/cbpii", "schemes": [ @@ -81,7 +81,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -219,7 +219,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -792,7 +792,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", diff --git a/dist/swagger-flattened/event-notifications-swagger-flattened.json b/dist/swagger-flattened/event-notifications-swagger-flattened.json index b50a5ff3..d2f0746f 100644 --- a/dist/swagger-flattened/event-notifications-swagger-flattened.json +++ b/dist/swagger-flattened/event-notifications-swagger-flattened.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1", "schemes": [ diff --git a/dist/swagger-flattened/event-subscriptions-swagger-flattened.json b/dist/swagger-flattened/event-subscriptions-swagger-flattened.json index 6c2aec6a..c60577fa 100644 --- a/dist/swagger-flattened/event-subscriptions-swagger-flattened.json +++ b/dist/swagger-flattened/event-subscriptions-swagger-flattened.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1", "schemes": [ diff --git a/dist/swagger-flattened/events-swagger-flattened.json b/dist/swagger-flattened/events-swagger-flattened.json index 7cad9747..5990e8bc 100644 --- a/dist/swagger-flattened/events-swagger-flattened.json +++ b/dist/swagger-flattened/events-swagger-flattened.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1", "schemes": [ diff --git a/dist/swagger-flattened/payment-initiation-swagger-flattened.json b/dist/swagger-flattened/payment-initiation-swagger-flattened.json index a6e20ffe..c44186de 100644 --- a/dist/swagger-flattened/payment-initiation-swagger-flattened.json +++ b/dist/swagger-flattened/payment-initiation-swagger-flattened.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1/pisp", "schemes": [ @@ -155,7 +155,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -196,7 +196,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -306,8 +306,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -740,7 +740,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -781,7 +781,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -891,8 +891,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -963,7 +963,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -1769,7 +1769,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -1810,7 +1810,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -1920,8 +1920,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -1992,7 +1992,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -2609,8 +2609,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -3168,7 +3168,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -3209,7 +3209,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -3319,8 +3319,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -3585,7 +3585,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -3742,7 +3742,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -3783,7 +3783,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -3893,8 +3893,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -3945,7 +3945,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -4553,7 +4553,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -4710,7 +4710,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -4751,7 +4751,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -4861,8 +4861,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -4913,7 +4913,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -6104,7 +6104,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -6145,7 +6145,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -6255,8 +6255,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -6702,7 +6702,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -6743,7 +6743,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -6853,8 +6853,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -6925,7 +6925,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -7753,7 +7753,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -7794,7 +7794,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -7904,8 +7904,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -7976,7 +7976,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -8636,7 +8636,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -8677,7 +8677,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -8787,8 +8787,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -9051,7 +9051,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -9213,7 +9213,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -9254,7 +9254,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -9364,8 +9364,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -9416,7 +9416,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -10031,7 +10031,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -10193,7 +10193,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -10234,7 +10234,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -10344,8 +10344,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -10396,7 +10396,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -11635,7 +11635,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -11676,7 +11676,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -11688,8 +11688,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -12164,7 +12164,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -12205,7 +12205,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -12217,8 +12217,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -12289,7 +12289,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -13146,7 +13146,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -13187,7 +13187,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -13199,8 +13199,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -13271,7 +13271,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -13970,7 +13970,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -14011,7 +14011,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -14023,8 +14023,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -14277,7 +14277,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -14478,7 +14478,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -14519,7 +14519,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -14531,8 +14531,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -14583,7 +14583,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -15188,7 +15188,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -15389,7 +15389,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -15430,7 +15430,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -15442,8 +15442,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -15494,7 +15494,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -16671,7 +16671,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -16702,8 +16702,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -17030,7 +17030,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -17061,8 +17061,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -17133,7 +17133,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -17842,7 +17842,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -17873,8 +17873,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -17945,7 +17945,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -19438,7 +19438,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -19469,8 +19469,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -19740,7 +19740,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -19771,8 +19771,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -19823,7 +19823,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -20532,7 +20532,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -20563,8 +20563,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -20615,7 +20615,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -22329,7 +22329,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -22567,7 +22567,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -22598,8 +22598,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -23149,7 +23149,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -23387,7 +23387,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -23418,8 +23418,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -23490,7 +23490,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -24422,7 +24422,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -24660,7 +24660,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -24691,8 +24691,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -24763,7 +24763,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -25389,8 +25389,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -26033,7 +26033,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -26271,7 +26271,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -26302,8 +26302,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -26764,7 +26764,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -27038,7 +27038,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -27276,7 +27276,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -27307,8 +27307,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -27359,7 +27359,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -28172,7 +28172,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -28446,7 +28446,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -28684,7 +28684,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -28715,8 +28715,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -28767,7 +28767,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -30043,7 +30043,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -30281,7 +30281,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -30312,8 +30312,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -30876,7 +30876,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -30895,7 +30895,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "type": "object", @@ -31114,7 +31114,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -31145,8 +31145,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -31217,7 +31217,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -32162,7 +32162,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -32181,7 +32181,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "type": "object", @@ -32400,7 +32400,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -32431,8 +32431,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -32503,7 +32503,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -33129,8 +33129,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -33778,7 +33778,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -34016,7 +34016,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -34047,8 +34047,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -34507,7 +34507,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -34786,7 +34786,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -35024,7 +35024,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -35055,8 +35055,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -35107,7 +35107,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -35918,7 +35918,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -36197,7 +36197,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -36435,7 +36435,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -36466,8 +36466,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -36518,7 +36518,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -37743,7 +37743,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -37762,7 +37762,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "type": "object", @@ -37981,7 +37981,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -37993,8 +37993,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -38455,7 +38455,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -38474,7 +38474,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "type": "object", @@ -38693,7 +38693,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -38705,8 +38705,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -38777,7 +38777,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -39620,7 +39620,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -39639,7 +39639,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "type": "object", @@ -39858,7 +39858,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -39870,8 +39870,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -39942,7 +39942,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -40627,7 +40627,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -40646,7 +40646,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "type": "object", @@ -40865,7 +40865,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -40877,8 +40877,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -41108,7 +41108,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "type": "object", @@ -41327,7 +41327,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -41514,7 +41514,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -41533,7 +41533,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "type": "object", @@ -41752,7 +41752,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -41764,8 +41764,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -41816,7 +41816,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } @@ -42398,7 +42398,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "type": "object", @@ -42617,7 +42617,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -42804,7 +42804,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -42823,7 +42823,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "type": "object", @@ -43042,7 +43042,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -43054,8 +43054,8 @@ }, "SupplementaryData": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." } } @@ -43106,7 +43106,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } } diff --git a/dist/swagger/account-info-swagger.json b/dist/swagger/account-info-swagger.json index 32e032f9..1137a274 100644 --- a/dist/swagger/account-info-swagger.json +++ b/dist/swagger/account-info-swagger.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1/aisp", "schemes": [ @@ -20,10 +20,12 @@ ], "consumes": [ "application/json; charset=utf-8", + "application/json", "application/jose+jwe" ], "produces": [ "application/json; charset=utf-8", + "application/json", "application/jose+jwe" ], "paths": { @@ -1716,7 +1718,8 @@ }, { "$ref": "#/parameters/x-customer-user-agent" - }], + } + ], "responses": { "200": { "$ref": "#/responses/200StandingOrdersRead" @@ -2047,7 +2050,7 @@ } }, "schema": { - "$ref": "#/definitions/OBReadAccount5" + "$ref": "#/definitions/OBReadAccount6" } }, "200AccountsAccountIdRead": { @@ -2059,7 +2062,7 @@ } }, "schema": { - "$ref": "#/definitions/OBReadAccount5" + "$ref": "#/definitions/OBReadAccount6" } }, "200AccountsAccountIdBalancesRead": { @@ -2707,19 +2710,19 @@ "description": "Name of Service User.", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Name_3": { "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Name_4": { "description": "Long name associated with the code", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "NextPaymentDateTime": { "description": "The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is below:\n2017-04-05T10:43:07+00:00", @@ -2739,7 +2742,7 @@ "maxLength": 35 }, "Number_0": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it\ufffds part of a government scheme, or whether the rate may vary dependent on the applicant\ufffds circumstances.", "type": "integer" }, "Number_1": { @@ -2951,6 +2954,9 @@ "MaturityDate": { "$ref": "#/definitions/MaturityDate" }, + "SwitchStatus": { + "$ref": "#/definitions/OBExternalSwitchStatusCode" + }, "Account": { "type": "array", "items": { @@ -3021,6 +3027,9 @@ }, "MaturityDate": { "$ref": "#/definitions/MaturityDate" + }, + "SwitchStatus": { + "$ref": "#/definitions/OBExternalSwitchStatusCode" } }, "additionalProperties": false @@ -3066,6 +3075,9 @@ "MaturityDate": { "$ref": "#/definitions/MaturityDate" }, + "SwitchStatus": { + "$ref": "#/definitions/OBExternalSwitchStatusCode" + }, "Account": { "type": "array", "items": { @@ -3557,7 +3569,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -3591,7 +3603,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -3625,7 +3637,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -3934,7 +3946,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -4184,7 +4196,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -4225,7 +4237,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -4259,7 +4271,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -4293,7 +4305,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -4327,7 +4339,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -4470,7 +4482,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -4720,7 +4732,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -4761,7 +4773,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -4795,7 +4807,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -4829,7 +4841,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -4863,7 +4875,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -4950,7 +4962,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -5183,7 +5195,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -5223,7 +5235,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -5266,7 +5278,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -5301,7 +5313,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -5335,7 +5347,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -5369,7 +5381,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -5520,7 +5532,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -6101,6 +6113,14 @@ "UK.OBIE.BICFI" ] }, + "OBExternalSwitchStatusCode": { + "description": "Specifies the switch status for the account, in a coded form.", + "type": "string", + "x-namespaced-enum": [ + "UK.CASS.NotSwitced", + "UK.CASS.SwitchCompleted" + ] + }, "OBExternalLegalStructureType1Code": { "description": "Legal standing of the party.", "type": "string", @@ -6566,7 +6586,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -6600,7 +6620,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -6634,7 +6654,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -6923,7 +6943,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -7090,7 +7110,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -7124,7 +7144,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -7158,7 +7178,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -7192,7 +7212,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -7309,7 +7329,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -7465,7 +7485,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -7632,7 +7652,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -7666,7 +7686,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -7700,7 +7720,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -7734,7 +7754,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -7851,7 +7871,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -8040,7 +8060,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -8083,7 +8103,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -8118,7 +8138,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -8152,7 +8172,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -8186,7 +8206,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -8293,7 +8313,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -8448,7 +8468,7 @@ "title": "Name", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Description": { "description": "Description to describe the purpose of the code", @@ -8659,7 +8679,7 @@ "description": "field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary.", "type": "number" }, - "OBReadAccount5": { + "OBReadAccount6": { "type": "object", "required": [ "Data" @@ -8683,7 +8703,7 @@ "$ref": "#/definitions/Meta" } }, - "additionalProperties":false + "additionalProperties": false }, "OBReadBalance1": { "type": "object", @@ -8796,7 +8816,7 @@ "$ref": "#/definitions/Meta" } }, - "additionalProperties":false + "additionalProperties": false }, "OBReadBeneficiary5": { "type": "object", @@ -8822,7 +8842,7 @@ "$ref": "#/definitions/Meta" } }, - "additionalProperties":false + "additionalProperties": false }, "OBReadConsent1": { "type": "object", @@ -8889,7 +8909,7 @@ "$ref": "#/definitions/OBRisk2" } }, - "additionalProperties":false + "additionalProperties": false }, "OBReadConsentResponse1": { "type": "object", @@ -8988,7 +9008,7 @@ "$ref": "#/definitions/Meta" } }, - "additionalProperties":false + "additionalProperties": false }, "OBReadDataStatement2": { "type": "object", @@ -9716,7 +9736,7 @@ ] }, "OverdraftInterestChargingCoverage": { - "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is �2k and the interest tiers are:- 0-�500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the �Whole� of the account balance, and in the 2nd that it is �Tiered�.", + "description": "Refers to which interest rate is applied when interests are tiered. For example, if an overdraft balance is \ufffd2k and the interest tiers are:- 0-\ufffd500 0.1%, 500-1000 0.2%, 1000-10000 0.5%, then the applicable interest rate could either be 0.5% of the entire balance (since the account balance sits in the top interest tier) or (0.1%*500)+(0.2%*500)+(0.5%*1000). In the 1st situation, we say the interest is applied to the \ufffdWhole\ufffd of the account balance, and in the 2nd that it is \ufffdTiered\ufffd.", "type": "string", "enum": [ "INBA", @@ -9725,7 +9745,7 @@ ] }, "BankGuaranteedIndicator": { - "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.", + "description": "Indicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it\ufffds part of a government scheme, or whether the rate may vary dependent on the applicant\ufffds circumstances.", "type": "boolean" }, "Notes": { @@ -11886,7 +11906,7 @@ } } }, - "additionalProperties":false + "additionalProperties": false }, "OBStatement2Basic": { "type": "object", @@ -12329,7 +12349,7 @@ "Status": { "$ref": "#/definitions/OBEntryStatus1Code" }, - "TransactionMutability":{ + "TransactionMutability": { "$ref": "#/definitions/OBTransactionMutability1Code" }, "BookingDateTime": { @@ -12384,7 +12404,7 @@ "$ref": "#/definitions/OBSupplementaryData1" } }, - "additionalProperties":false + "additionalProperties": false }, "OBTransaction6Basic": { "type": "object", @@ -12418,7 +12438,7 @@ "Status": { "$ref": "#/definitions/OBEntryStatus1Code" }, - "TransactionMutability":{ + "TransactionMutability": { "$ref": "#/definitions/OBTransactionMutability1Code" }, "BookingDateTime": { @@ -12486,7 +12506,7 @@ "Status": { "$ref": "#/definitions/OBEntryStatus1Code" }, - "TransactionMutability":{ + "TransactionMutability": { "$ref": "#/definitions/OBTransactionMutability1Code" }, "BookingDateTime": { @@ -12575,7 +12595,7 @@ "description": "Name of the cardholder using the card instrument.", "type": "string", "minLength": 1, - "maxLength": 350 + "maxLength": 70 }, "Identification": { "description": "Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and may be masked.", @@ -12584,7 +12604,7 @@ "maxLength": 34 } }, - "additionalProperties":false + "additionalProperties": false }, "OBTransactionCashBalance": { "type": "object", @@ -12618,7 +12638,7 @@ } } }, - "additionalProperties":false + "additionalProperties": false }, "OB_Amount1_0": { "description": "Cap amount charged for a fee/charge", @@ -13175,7 +13195,7 @@ }, "OBBeneficiaryType1Code": { "description": "Specifies the Beneficiary Type.", - "type":"string", + "type": "string", "enum": [ "Trusted", "Ordinary" diff --git a/dist/swagger/aggregated-polling-swagger.json b/dist/swagger/aggregated-polling-swagger.json index 7506ad47..1b8f6303 100644 --- a/dist/swagger/aggregated-polling-swagger.json +++ b/dist/swagger/aggregated-polling-swagger.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1", "schemes": [ @@ -55,12 +55,12 @@ } ], "responses": { - "201": { - "$ref": "#/responses/201EventsCreated" - }, "200": { "$ref": "#/responses/200EventsRead" }, + "201": { + "$ref": "#/responses/201EventsCreated" + }, "400": { "$ref": "#/responses/400Error" }, @@ -92,7 +92,8 @@ "security": [ { "TPPOAuth2Security": [ - "accounts", "fundsconfirmations" + "accounts", + "fundsconfirmations" ] } ] @@ -439,7 +440,7 @@ } } }, - "additionalProperties":false + "additionalProperties": false }, "OBEventPollingResponse1": { "type": "object", @@ -462,7 +463,7 @@ } } }, - "additionalProperties":false + "additionalProperties": false } } } \ No newline at end of file diff --git a/dist/swagger/callback-urls-swagger.json b/dist/swagger/callback-urls-swagger.json index f111f303..04ea0aae 100644 --- a/dist/swagger/callback-urls-swagger.json +++ b/dist/swagger/callback-urls-swagger.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1", "schemes": [ diff --git a/dist/swagger/confirmation-funds-swagger.json b/dist/swagger/confirmation-funds-swagger.json index 031992ff..6b631789 100644 --- a/dist/swagger/confirmation-funds-swagger.json +++ b/dist/swagger/confirmation-funds-swagger.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1/cbpii", "schemes": [ @@ -716,7 +716,7 @@ } } }, - "additionalProperties":false + "additionalProperties": false }, "OBFundsConfirmationConsent1": { "type": "object", @@ -764,7 +764,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -777,7 +777,7 @@ } } }, - "additionalProperties":false + "additionalProperties": false }, "OBFundsConfirmationConsentResponse1": { "type": "object", @@ -855,7 +855,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "description": "This is secondary identification of the account, as assigned by the account servicing institution. \nThis can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).", @@ -874,7 +874,7 @@ "$ref": "#/definitions/Meta" } }, - "additionalProperties":false + "additionalProperties": false }, "OBFundsConfirmationResponse1": { "type": "object", @@ -949,7 +949,7 @@ "$ref": "#/definitions/Meta" } }, - "additionalProperties":false + "additionalProperties": false } } } \ No newline at end of file diff --git a/dist/swagger/event-notifications-swagger.json b/dist/swagger/event-notifications-swagger.json index 997fae63..b1af3cc8 100644 --- a/dist/swagger/event-notifications-swagger.json +++ b/dist/swagger/event-notifications-swagger.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1", "schemes": [ diff --git a/dist/swagger/event-subscriptions-swagger.json b/dist/swagger/event-subscriptions-swagger.json index 51115610..1dfac15e 100644 --- a/dist/swagger/event-subscriptions-swagger.json +++ b/dist/swagger/event-subscriptions-swagger.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1", "schemes": [ @@ -742,7 +742,7 @@ } } }, - "additionalProperties":false + "additionalProperties": false }, "OBEventSubscriptionResponse1": { "type": "object", @@ -779,7 +779,7 @@ } } }, - "additionalProperties":false + "additionalProperties": false }, "Links": { "$ref": "#/definitions/Links" @@ -840,7 +840,7 @@ "$ref": "#/definitions/Meta" } }, - "additionalProperties":false + "additionalProperties": false }, "Version": { "description": "Version for the event notification.", diff --git a/dist/swagger/events-swagger.json b/dist/swagger/events-swagger.json index d60d7be6..e0581865 100644 --- a/dist/swagger/events-swagger.json +++ b/dist/swagger/events-swagger.json @@ -2,7 +2,8 @@ "swagger": "2.0", "info": { "title": "Events API Specification - ASPSP Endpoints", - "description": "OpenAPI for Events (Subscription & Aggregated Polling) API Specification - ASPSP Endpoints", "termsOfService": "https://www.openbanking.org.uk/terms", + "description": "OpenAPI for Events (Subscription & Aggregated Polling) API Specification - ASPSP Endpoints", + "termsOfService": "https://www.openbanking.org.uk/terms", "contact": { "name": "Service Desk", "email": "ServiceDesk@openbanking.org.uk" @@ -11,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1", "schemes": [ @@ -333,12 +334,12 @@ } ], "responses": { - "201": { - "$ref": "#/responses/201EventsCreated" - }, "200": { "$ref": "#/responses/200EventsRead" }, + "201": { + "$ref": "#/responses/201EventsCreated" + }, "400": { "$ref": "#/responses/400Error" }, @@ -358,7 +359,7 @@ "$ref": "#/responses/406Error" }, "415": { - "$ref": "#/responses/415Error" + "$ref": "/responses/415Error" }, "429": { "$ref": "#/responses/429Error" @@ -370,7 +371,8 @@ "security": [ { "TPPOAuth2Security": [ - "accounts", "fundsconfirmations" + "accounts", + "fundsconfirmations" ] } ] @@ -845,7 +847,7 @@ } } }, - "additionalProperties":false + "additionalProperties": false }, "OBEventSubscriptionResponse1": { "type": "object", @@ -890,7 +892,7 @@ "$ref": "#/definitions/Meta" } }, - "additionalProperties":false + "additionalProperties": false }, "OBEventSubscriptionsResponse1": { "type": "object", @@ -943,7 +945,7 @@ "$ref": "#/definitions/Meta" } }, - "additionalProperties":false + "additionalProperties": false }, "Version": { "description": "Version for the event notification.", @@ -998,7 +1000,7 @@ } } }, - "additionalProperties":false + "additionalProperties": false }, "OBEventPollingResponse1": { "type": "object", @@ -1021,7 +1023,7 @@ } } }, - "additionalProperties":false + "additionalProperties": false } } } \ No newline at end of file diff --git a/dist/swagger/payment-initiation-swagger.json b/dist/swagger/payment-initiation-swagger.json index 3bc61465..4335c89e 100644 --- a/dist/swagger/payment-initiation-swagger.json +++ b/dist/swagger/payment-initiation-swagger.json @@ -12,7 +12,7 @@ "name": "open-licence", "url": "https://www.openbanking.org.uk/open-licence" }, - "version": "v3.1.5" + "version": "v3.1.6" }, "basePath": "/open-banking/v3.1/pisp", "schemes": [ @@ -4182,7 +4182,7 @@ "type": "string", "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.", "minLength": 0, - "maxLength": 140 + "maxLength": 350 } } }, @@ -4260,8 +4260,8 @@ }, "OBSupplementaryData1": { "type": "object", - "additionalProperties": true, "properties": {}, + "additionalProperties": true, "description": "Additional information that can not be captured in the structured fields and/or any other specific block." }, "OBWriteDomestic2": { @@ -4348,7 +4348,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -4375,7 +4375,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -4501,7 +4501,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -4528,7 +4528,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -4780,7 +4780,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -4807,7 +4807,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -5005,7 +5005,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -5100,7 +5100,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -5127,7 +5127,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -5300,7 +5300,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -5327,7 +5327,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -5466,7 +5466,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -5493,7 +5493,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -5758,7 +5758,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -5785,7 +5785,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -5981,7 +5981,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -6081,7 +6081,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -6108,7 +6108,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -6327,7 +6327,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -6354,7 +6354,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -6517,7 +6517,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -6544,7 +6544,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -6823,7 +6823,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -6850,7 +6850,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -7014,7 +7014,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -7160,7 +7160,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -7187,7 +7187,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -7335,7 +7335,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -7449,7 +7449,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -7680,7 +7680,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -7920,7 +7920,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -8198,7 +8198,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -8260,7 +8260,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -8452,7 +8452,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -8514,7 +8514,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -8873,7 +8873,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -8935,7 +8935,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -9164,7 +9164,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -9369,7 +9369,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -9431,7 +9431,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -9670,7 +9670,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -9732,7 +9732,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -9937,7 +9937,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -9999,7 +9999,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -10371,7 +10371,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -10387,7 +10387,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "$ref": "#/definitions/OBPostalAddress6" @@ -10433,7 +10433,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -10660,7 +10660,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -10870,7 +10870,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -10932,7 +10932,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -11135,7 +11135,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -11151,7 +11151,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "$ref": "#/definitions/OBPostalAddress6" @@ -11200,7 +11200,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -11350,7 +11350,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -11366,7 +11366,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "$ref": "#/definitions/OBPostalAddress6" @@ -11415,7 +11415,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -11681,7 +11681,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -11697,7 +11697,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "$ref": "#/definitions/OBPostalAddress6" @@ -11746,7 +11746,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -11898,7 +11898,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "$ref": "#/definitions/OBPostalAddress6" @@ -11944,7 +11944,7 @@ "description": "Name of the account, as assigned by the account servicing institution.\nUsage: The account name is the name or names of the account owner(s) represented at an account level. The account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -12077,7 +12077,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.\nNote, the account name is not the product name or the nickname of the account.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification" @@ -12093,7 +12093,7 @@ "description": "Name by which a party is known and which is usually used to identify that party.", "type": "string", "minLength": 1, - "maxLength": 140 + "maxLength": 350 }, "PostalAddress": { "$ref": "#/definitions/OBPostalAddress6" @@ -12142,7 +12142,7 @@ "description": "The account name is the name or names of the account owner(s) represented at an account level.\nNote, the account name is not the product name or the nickname of the account.\nOB: ASPSPs may carry out name validation for Confirmation of Payee, but it is not mandatory.", "type": "string", "minLength": 1, - "maxLength": 70 + "maxLength": 350 }, "SecondaryIdentification": { "$ref": "#/definitions/SecondaryIdentification"